#include #include typedef struct ListNode { int data; struct ListNode *next; } ListNode; int main () { printf("Hello World!! \n"); printf("another line\n"); ListNode *head = NULL; for (int i = 0; i < 5; i++) { ListNode *temp = (ListNode *) malloc(sizeof(ListNode)); (*temp).data = i; //NOT the way we typically dereference pointers temp->next = head; head = temp; } ListNode *p = head; while (p != NULL) { printf("list data %d\n", p->data); p = p->next; } return 0; }