#include typedef struct alistnode *listnode; struct alistnode { int val; listnode next; }; void setnext(listnode a, listnode b) { a->next = b; } void setval(listnode a, int b) { a->val = b; } main() { listnode n1 = malloc(sizeof(struct alistnode)); setval(n1, 1); listnode n2 = malloc(sizeof(struct alistnode)); setval(n2, 2); listnode n3 = malloc(sizeof(struct alistnode)); setval(n3, 3); setnext(n1, n2); setnext(n2, n3); setnext(n3, n1); printf("First: %d\nSecond: %d\nThird: %d\nFirst again: %d", n1->val, (n1->next)->val, ((n1->next)->next)->val, (((n1->next)->next)->next)->val); }