12/07/08 9:05
hasmet87
Salve, mi trovo con un problema che non so risolvere. Io ho allocato dinamicamente un vettore di struct, e dentro di esso ho creato due matrici dinamiche. Il problema è che non riesco a disallocarle, in quanto il programma termina mostrandomi un errore quando disalloco le righe delle matrici, non so come fare, quancuno mi può aiutare??? Grazie milleeeee
typedef struct{ char **bia,**ner; }giocatore; giocatore *vett; int main(){ int num=42; //alloco il vettore vett=(giocatore *)calloc(dim,sizeof(giocatore)); //alloco le matrici vett[i].bia=(char **)calloc(30,sizeof(char)); for(j=0;j<30;j++){ vett[i].bia[j]=(char *)calloc(10,sizeof(char)); } vett[i].ner=(char **)calloc(30,sizeof(char)); for(j=0;j<30;j++){ vett[i].ner[j]=(char *)calloc(10,sizeof(char)); } //disalloco le matrici for(i=0;i<num;i++){ for(j=0;j<30;j++){ free(vett[i].bia[j]); free(vett[i].ner[j]); } //arrivato qui mi dà un errore e il programma termina free(vett[i].bia); free(vett[i].ner); } free(vett); }
Ultima modifica effettuata da hasmet87 12/07/08 9:09
aaa