#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int x;
struct Node *next;
} Node;
int main(void) {
Node root;
root.x = 12;
root.next = malloc(sizeof(Node));
root.next->x = 189;
root.next->next = malloc(sizeof(Node));
root.next->next->x = 1983;
root.next->next->next = malloc(sizeof(Node));
root.next->next->next->x = 10000;
root.next->next->next->next = NULL;
for (Node *current = &root; current != NULL; current = current->next) {
printf("%d\n", current->x);
}
free(root.next->next->next);
free(root.next->next);
free(root.next);
return 0;
}
/*
run:
12
189
1983
10000
*/