Bonsoir,
Voici mon code qui provoque une erreur de segmentation et lorsque je fais tourner avec gdb et que j'essai d'accéder à s->mat[0][0] j'ai un "Cannot access memory" mais je ne vois pas d'où cela peut venir.
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
27
28
29
30
31
32
33 struct sol { double **mat; double a; }; typedef struct sol *sol; double **creerMatrice(int l, int c) { double **m=malloc(l*sizeof(double*)); for (int i=0 ; i<l ;i++) { m[i]=malloc(c*sizeof(double)); } return m; } sol creerSol(int n, int c) { sol s=malloc(sizeof(sol)); s->mat=creerMatrice(n,c); s->a=0; return s; } sol test(int n, int c) { sol s=creerSol(n,c); s->mat[0][0]=0; // Erreur de segmentation ici s->mat[0][1]=1; return s; }
Merci d'avance.
Partager