PDA

Visualizza la versione completa : [C] problema lista e puntatori


lumaka
24-01-2010, 19:14
Salve a tutti

Ho un problema nel funzionamento del mio programma fatto in C. Il codice il seguente :




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 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.

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 :-)

lumaka
25-01-2010, 13:04
problema risolto. Ho creato un nodo fittizio che funge da var globale, e cosi funziona.

Loading