scusate per l'indentazione ma mi è saltata facendo copia incolla.. però quello che deve fare il programma l'ho scritto ad inizio thread... per il resto il segmentation fault credo di averlo evidenziato ma per essere chiari lo riposto... (nella seconda risposta mia ho postato il messagio di errore del debugger gdb con i vari valori delle variabili in esame al momento della seg fault ).. comunque il ciclo in questione è questo che si può ritrovare nel codi ce già postato :

/*ciclo che scorre la lista finchè non trova un numero matricola maggiore
di quello da inserire o arriva alla fine , troviamo la posizione della nuova tripla*/

for (corr_p = prec_p = *testa_p;
((corr_p != NULL) && (corr_p->matricola < matricola));
prec_p = corr_p, corr_p = corr_p->succ_p);

e il seg fault arriva nel controllo delle condizioni , premetto che inizialmente la testa è inizializzata a NULL quando la lista è ancora vuota e ovviamente alla prima iterazione i puntatori saranno tutti a NULL.. per il resto non riesco a trovare il modo di risolverlo anche perchè questo ciclo l'ho usato più e più volte in varie esercitazioni allo stesso modo senza avere mai problemi..