Primero pon un poco de orden en todo lo que estas haciendo, tirando código a ver que funciona no vas a llegar muy lejos. Tienes que estructurar bien tu programa y entender el concepto de listas enlazadas y como operar con ellas. Revisa algún manual o tutorial de estructuras de datos en C para que captes mejor los conceptos básicos.
A pesar de las correcciones que hiciste sigues teniendo los mismos problemas, solo pusiste pañitos de agua tibia.
Si buscas en
google encontraras mucha info, por ejemplo el primer
link que me apareció.
Saludos