/* File: listor.c * Author: Henrik Bjoerklund * Description: an implementation of linked int-lists with * some useful functions for using them and a main-function * for testing. * TODO: FILE UNSUFFICIENTLY COMMENTED. FIX AS SOON AS POSSIBLE! */ #include #include struct intListElement{ int value; struct intListElement * next; }; typedef struct intListElement * intList; intList intListNew(void){ intList newList = NULL; return newList; } intList intListNewElement(int n){ intList newElement; newElement = (intList) malloc(sizeof(struct intListElement)); newElement->value = n; (*newElement).next = NULL; return newElement; } intList intListCons(int n, intList oldList){ intList newList = intListNewElement(n); newList->next = oldList; return newList; } void printList(intList list){ if(list == NULL){ printf("\n"); }else{ printf("%d ",list->value); printList(list->next); } } int main(void){ intList list = intListNew(); list = intListCons(5,list); list = intListCons(-8,list); list = intListCons(42,list); printList(list); return 0; }