Ma il programma funziona?
Perchè dalla funzione che hai postato ho capito che la lista non è a doppio senso; non c'è modo di tornare indietro una volta che sei arrivato alla fine.
Praticamente la funzione prende un puntatore e inizia a scorrere finchè la lista non è terminata; il problema è che per forza di cose la funzione ha reso la lista inutilizzabile, in quanto ha reindirizzato il puntatore allo struct verso NULL.
La funzione dovrebbe salvare all'inizio l'indirizzo del primo elemente della lista e alla fine, quando si è arrivati al NULL, rifar puntare il puntatore passato come argomento a questo primo elemento.
O direttamente usare il puntatore argomento solo per inizializzare un'altra variabile puntatore, locale alla funzione.

Rispondi quotando