Singly-linked list Abstract Data Type implemented in C