Bonjour,
J'ai le code suivant, mais je ne comprends pas pourquoi ça plante (la compilation se passe correctement mais le débugger dit qu'à l'exécution il y a une erreur de segmentation sur free(t))...
Quelques éclaircissements ne seraient pas de refus !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 #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); }
Merci
Partager