Malloc sur structures
Résolu
Lord Shoedsackovskaïa
Messages postés
163
Date d'inscription
Statut
Membre
Dernière intervention
-
nar6du14 Messages postés 459 Date d'inscription Statut Membre Dernière intervention -
nar6du14 Messages postés 459 Date d'inscription Statut Membre Dernière intervention -
Bonjour amis internautes !
J'ai le code suivant, mais je n'arrive pas à savoir pourquoi ça plante (la compilation se passe correctement mais le débugger dit qu'à l'exécution il y a une erreur sur free(t))...
Quelques éclaircissements ne seraient pas de refus !
Merci d'avance
J'ai le code suivant, mais je n'arrive pas à savoir pourquoi ça plante (la compilation se passe correctement mais le débugger dit qu'à l'exécution il y a une erreur sur free(t))...
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int **test;
int w, h;
} S;
int main(void) {
S *t = malloc(sizeof(t));
int i;
t->test = malloc(8 * sizeof(int*));
for (i = 0; i < 8; i++)
t->test[i] = malloc(8 * sizeof(int));
t->h = 0;
t->w = 0;
t->test[t->h][t->w] = 1;
for (i = 0; i < 8; i++)
free(t->test[i]);
free(t->test);
free(t);
}
Quelques éclaircissements ne seraient pas de refus !
Merci d'avance