View Full Version : [C] deallocazione della memoria con free
flosfloris
28-01-2008, 10:53
ciao ragazzi ho bisogno di una mano
ho allocato dinamicamente 2 array e una matrice con calloc...
ora alla fine del mio algoritmo devo deallocare memoria..
per gli array basta scrivere free(array);
mentre per la matrice non so come fare avendola dichiarata come doppio puntatore...
spero in un vostro aiuto....
ciauu
AnonimoVeneziano
28-01-2008, 11:03
Prova a vedere come hai allocato la matrice.
immagino l'avrai allocata tipo
double** matrice = malloc(sizeof(double*)*numero);
for (count = 0; count < numero; count++) {
matrice[count] = malloc(sizeof(double)*numero);
}
Allo stesso modo devi deallocarla con free. (ma al contrario)
Prima deallochi tutti gli array corrispondenti alle righe della matrice e poi deallochi l'array di puntatori che č stato allocato all'inizio pressapoco cosė :
for (count = 0; count < numero; count++) {
free(matrice[count]);
}
free(matrice);
Ciao
mentre per la matrice non so come fare avendola dichiarata come doppio puntatore...Immagino quindi che prima di tutto hai allocato l'array che tiene i puntatori alle righe, poi, per ogni riga hai allocato della memoria per le colonne.
Bene, dealloca tutte le righe, poi dealloca l'array dei puntatori alle righe.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.