C Linked-List data structure implement