Linked List programs are very easy if you have strong pointers concepts and know how the memory is allocated during runtime.So i will suggest to study first
1) how to use struct ,typedef
2) How pointers are declared and used,understand the significance of "ptr->next" frequently used in linked list programs, How to move to next node of linked list,How memory address changes when you perform ptr=ptr->next.... Understand these basic concepts and then move forward
3) how malloc works
Study these topics in detail and clear all your concepts then only linked list programs will become easy, otherwise they will keep disturbing.
Also after clearing your concepts on these topics, first start with basic programs like
How to create a linked list,
How to display elements of linked list,
How to insert node at beginning etc and then move to complicated programs....