drakend
22-02-2004, 12:11
Salve,
ho una struttura in cui appaiono dei puntatori inizialmente impostati a NULL e che poi vengono eventualmente assegnati ad aree di memoria tramite calloc durante l'esecuzione del programma. A volte ho la necessità di deallocare alcune istanze di questa struttura: io so che per farlo bisogna usare la funzione free(). Fin qui nessuno problema: mi sorge però un tremendo dubbio: se faccio free(nomeIstanzaStruttura) viene deallocata l'istanza della struttura... ma anche le aree di memoria puntate dai puntatori o solo gli spazi di memoria in cui è memorizzato il valore del puntatore?
ho una struttura in cui appaiono dei puntatori inizialmente impostati a NULL e che poi vengono eventualmente assegnati ad aree di memoria tramite calloc durante l'esecuzione del programma. A volte ho la necessità di deallocare alcune istanze di questa struttura: io so che per farlo bisogna usare la funzione free(). Fin qui nessuno problema: mi sorge però un tremendo dubbio: se faccio free(nomeIstanzaStruttura) viene deallocata l'istanza della struttura... ma anche le aree di memoria puntate dai puntatori o solo gli spazi di memoria in cui è memorizzato il valore del puntatore?