Salve a tutti
Ho un problema nel funzionamento del mio programma fatto in C. Il codice è il seguente :
La struttura dati è corretta, i campi ci sono tutti e l'inserimento viene fatto senza problemi. Il problema nasce quando vado a scorrere la lista. Il programma v in crash generndo un errore relativo alla memoria.codice:void inserisci (int mat, alunno *head){ alunno *nuovo; //puntatore al nuovo alunno nuovo = (alunno *) malloc(sizeof(alunno)); //alloco la memoria necessaria per inserire alunno->matricola = mat; alunno->next = head; //inserisco in testa alla lista head = alunno; } void scorrilista(alunno *head){ alunno *corr; int controlla = 0; corr = head; while(corr){ printf("%d mat corrente \n", corr->matricola); corr = corr->next; controlla++; } } main() alunno *testa; testa = NULL;
La domanda che vi pongo è : sbaglio a settare i due puntatori nella funzione di inserimento, oppure sbaglio a creare la lista?
Attendo un vostro aiuto :-)

Rispondi quotando