Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Allocare dinamicamente strutture
Forum - C/C++ - Allocare dinamicamente strutture

Avatar
Zani88 (Member)
Pro


Messaggi: 136
Iscritto: 07/05/2006

Segnala al moderatore
Postato alle 16:43
Martedì, 03/07/2007
Supponiamo di avere la seguente struttura:
struct str{
        int  lun;
        char *pun;
       } rec;

per allocarla faccio

rec *x;
x = (rec*)calloc (1,sizeof(rec));
x->pun = (char *)calloc(10,sizeof(char));

giusto?

e per liberare lo spazio occupato bisogna fare
free (x);
o
free (x->pun);
free (x);
?

Rispondete che poi ho altri dubbi!

PM Quote
Avatar
lorelapo (Ex-Member)
Expert


Messaggi: 355
Iscritto: 28/02/2007

Segnala al moderatore
Postato alle 19:09
Venerdì, 06/07/2007
La prima parte è giusta, ma la seconda no per rilasciare un parte di memoria bisogna effettuare il rilascio per ogni parte di memoria allocata, in quanto sono tutte indipendenti per cui :
Codice sorgente - presumibilmente Plain Text

  1. free(strutturaxy->puntatore);
  2. free(strutturaxy);


PM Quote