Bonjour, je viens de me mettre au C, et j'ai un pb avec mes tableaux
Voici ce que j'ai fait :
et j'obtiens une erreur de segmentation. Le problème vient de la fonction affiche_tableau.
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 typedef struc t_mat { unsigned int dim; // la dimension du tableau double * data; } Tableau; void alloc_tableau(unsigned int d,Tableau t) { assert(d>0); t.data=malloc(d*sizeof(double)); assert(t.data!=NULL); } void affiche_tableau(Tableau t) { int i; for(i=0;i<t.dim;i++) printf("%3.5f\t",t.data[i]); printf("\n"); } int main() { Tableau t1; alloc_tableau(3,t1); t1.data[0]=1; t1.data[1]=2; t1.data[2]=3; affiche_tableau(t1); return 0; }
Autre question : plutôt que de faire t1.data[0]=1; etc, y a-t-il un moyen pour faire plutôt t1[0]=1; ce qui et plus simple ?
Merci beaucoup.
Partager