[RISOLTO]Problemi col codice C (funzione di deallocazione)

di Anonimizzato11990 il
7 risposte
Come introdotto dal titolo ho qualche problema con la funzione di deallocazione del codice sottostante; i problemi iniziano alla riga 300, qualcuno potrebbe darmi una mano? Ringrazio anticipatamente!

http://pastebin.com/S9YByhf

7 Risposte

  • Una mano sì, ma dicci almeno i dettagli dell'errore ...
  • Un Segment fault. Già alla riga 300 con la chiamata free(alb_gen->pers); il programma crasha. Ho provato ad inserire tale chiamata subito dopo l'allocazione (effettuata alla riga 164) per non rischiare di perdermi il puntatore stradafacendo, ma l'errore è identico e non ne capisco il motivo.
  • Come è fatto il file di testo di input ?
  • Questo è il file di testo: http://pastebin.com/0MbzQFJ
    Ma tengo a precisare che il programma è perfettamente funzionante senza la funzione di deallocazione, tuttavia vorrei capire il motivo per cui quei free mi danno errore
  • In genere delle free che danno errore portano a delle malloc sbagliate ... e infatti nella malloc2d deve essere

    if( (m=(char *)malloc(n*sizeof(char))) == NULL)

    e non

    if( (m=(char *)malloc(sizeof(char))) == NULL)
  • Non sò davvero come ringraziarti!!!! ^.^
  • Di NULL ...
Devi accedere o registrarti per scrivere nel forum
7 risposte