Oppure

Loading
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
12/07/08 21:11
gantonio
Intanto, prima di iniziare a valutare il problema,

1) quanto vale dim ?

2) come mai utilizzi i nell'allocazione senza assegnargli un valore ?
aaa