guarda di cose strane ne ho viste e ci sonoc ompilatori più sensibili di altri riguardo ad errori.
Riguardo al tuo errore, di fatti tu stai tentando l'accesso ad un'area di memoria non valorizzata e/o non inizializzata quindi l'unico modo che un programma C ha per uscirne è la segmentation fault.
Ora di fatto il codice così come è scritto (senza indentazioni e senza formattazione è pure difficile da leggere.
Non so cosa deve fare l'esercizio, non so dove va in fault (non lo hai evidenziato), ti consiglio di controllare l'inizializzazione di tutti gli elementi e un controllo a NOT NULL della testa quando fai gli accessi dai vari metodi male non fa.