An implementation of a singly linked list in C