我想訪問我的結構點。結構內存是動態定位的。我遇到了我無法弄清楚的分段錯誤。從我的.h文件中我的結構定義如下:訪問從另一個圖中的數字的指針C
struct point{
double x;
double y;
};
struct figure{
char name[128];
int draw;
struct point *points;
};
extern struct figure *figures;
在我的.c文件我有:
struct figure *figures;
//initializing 10 figures
figures = malloc(10 * sizeof(struct figure));
//left the obvious NULL checking out for brevity
//I'm fairly sure this portion works for initializing 10 points for each figure
int i;
for(i = 0;i<10;i++){
figures[i].points = malloc(10 * sizeof(struct point));
//left out NULL checking again
}
除非這一點,這是我在哪裏遇到問題之前檢測到問題,實際上將值存儲到點中。 注:指標可以是任何INT> = 0,只使用一個通用術語,爲簡單起見
figures[index].points[index]->x = 10;
figures[index].points[index]->y = 15;
與他的問題任何幫助將是非常美妙的。提前致謝。
用於這兩個數字和點的相同索引? –
不,沒有數量未知的數字,點數未知。我們從文件中獲取數據,我忽略了大部分代碼。剛剛用於更一般情況的索引 – Kris
figures [index] .points [index]是一個點,而不是一個指針指針。 –