View Single Post
Old 21-04-2005, 18:05   #2
h1jack3r
Senior Member
 
L'Avatar di h1jack3r
 
Iscritto dal: May 2002
Città: somewhere in Europe
Messaggi: 2554
Quote:
Originariamente inviato da nefer
Ciao a tutti!!

Non riesco a venire a capo di questo problema!

Ho scritto un programma che utilizza una semplicissima lista per memorizzare i dati! Su questa lista ho implementato una funzione chiamtata "inserisci" e una funzione chiamata "crea". Quest'ultima serve per cancellare i dati presenti e inizializzare nuovamente la lista!

Quando faccio partire il programma la inserisci funziona! dopo aver inserito qualche elemento chiamo la crea e successivamente inserisco dei nuovi elementi. A questo punto, generalmente al terzo inserimento, il programma termina con segmentation fault. L'errore avviene al momento della chiamata malloc.

Il problema si verifica solo se chiamo la crea il cui codice è il seguente:
testa=NULL;
while(temp!=NULL)
{
temp1=temp;
temp=temp->pross;
temp1->pross=NULL;

free(temp1);
}
temp e temp1 sono dello stesso tipo di testa ovviamente!

Voi vedete in questo frammento l'origine del mio problema?????

beh questo pezzo di codice non può creare una lista se non c'è nemmeno una malloc, fa solo casini con la memoria..
prova a postare tutta la funzione con i vari parametri magari ne veniamo a capo.
h1jack3r è offline   Rispondi citando il messaggio o parte di esso