// Implements a list of numbers with linked list #include #include // Represents a node typedef struct node { int number; struct node *next; } node; int main(void) { // List of size 0 node *list = NULL; // Add number to list node *n = malloc(sizeof(node)); if (n == NULL) { return 1; } n->number = 1; n->next = NULL; list = n; // Add number to list n = malloc(sizeof(node)); if (n == NULL) { return 1; } n->number = 2; n->next = NULL; list->next = n; // Add number to list n = malloc(sizeof(node)); if (n == NULL) { return 1; } n->number = 3; n->next = NULL; list->next->next = n; // Print list for (node *tmp = list; tmp != NULL; tmp = tmp->next) { printf("%i\n", tmp->number); } // Free list while (list != NULL) { node *tmp = list->next; free(list); list = tmp; } }