bhè non so cosa voglia dire che stai passando un NULL pointer, perchè inizialmente quando si dichiara una lista, per forza il puntatore alla testa è NULL, il problema piuttosto è nella lettura, che magari sarebbe più corretta così:
codice:
//Inserisce i valori in coda alla lista
arrivo *insCoda(arrivo *t, int tmpnm)
{
arrivo *nuovo, *tmp;
int i;
//controllo che la malloc sia andata a buon fine
if(nuovo = (arrivo *)malloc(sizeof(arrivo))){
//memorizzo il valore nella lista
nuovo->nm = tmpnm;
if( !t ) {
nuovo->next = NULL;
t = nuovo;
}
else {
nuovo->next = t;
t = nuovo;
}
return nuovo;
}
in questo modo controlli il caso di quando inserisci in testa per la prima volta, e quando inserisci dopo il primo elemento: inoltre la funzione se la fai di tipo arrivo* è inutile passare il puntatore alla testa "a" per riferimento, ma basta ritornarlo con il return; allo stesso modo nella funzione di ordinamento, che non ho ancora visto...ma sembra che c'è qualche errore!
se ci sono altri problemi, magari li vediamo domani che sn anche le 2,42...ahah..ciao ragazzi