Singly linked list in C with functions definitions in a separate file along with functions and struct definitions separated into a header file. Practice of properly using pointers and memory allocation.