以下に定義されているように、構造体「sommet」の配列を使用しようとしています。
typedef struct sommet {
double x;
double y;
char nom[100];
struct arete2* voisin;};
sommet* somtab = (sommet *) calloc(nbnoeud, sizeof(sommet));
if(somtab = NULL){
puts("Calloc error");
exit(1);
}
私のコードには、xtab、ytab、および nomtab という 3 つの別個の配列があり、それぞれに、同等のインデックスの somtab 要素の x、y、および nom 値が含まれています (つまり、somtab[0].x = xtab[0]、somtab[1 ].x = xtab[1] など) 各 somtab 要素を設定すると、プログラムが壊れて「check3」になりません。
puts("check1");
for(a=0; a<nbnoeud; a++){
printf("Read item %d; \t \t \t %s - (%lf, %lf). \n", a, nomtab[a], xtab[a], ytab[a]);
}
puts("check2");
for(a=0; a<nbnoeud; a++){
somtab[a].x = xtab[a];
somtab[a].y = ytab[a];
strcpy(somtab[a].nom, nomtab[a]);
}
puts("check3");