#include <stdio.h>
#include <stdlib.h>
struct int_linked_list
{
int n;
struct int_linked_list *next;
};
typedef struct int_linked_list item;
int main(void)
{
item *curr, *head;
int i = 1;
head = curr = (item *)malloc(sizeof(item));
curr->n = i;
for (i = 2; i <= 10; i++)
{
curr->next = (item *)malloc(sizeof(item));
curr->next->n = i;
curr = curr->next;
}
curr->next = NULL;
curr = head;
while (curr)
{
printf("%d\n", curr->n);
curr = curr->next;
}
// free the linked list
curr = head;
for (i = 1; i <= 10; i++)
{
curr = curr->next;
free(head);
head = curr;
}
return 0;
}
/*
run:
1
2
3
4
5
6
7
8
9
10
*/