我想創建一個結構數組,雖然沒有。數組中的結構體是從用戶的文件/輸入中讀取的。訪問結構內的數組元素(它是結構數組的一部分)(在C中)
我聲明一個結構:
struct student{
char name[16];
int *available;
int sum;
};
typedef struct student ST;
我分配內存結構的陣列(獲得尺寸的輸入後):
ptr = (ST*)calloc(lines, sizeof(ST));
我還分配空間中的每個結構的每個陣列(使用循環):
ptr->available = (int*)calloc(lines, sizeof(int));
NOW - 我想把值放在這些數組中。我如何到達每個元素?
我想:
*((ptr+i)->(available+j)) = 1;
但是,編譯器告訴我:error: expected identifier before ‘(’
(i和j是索引我用,我爲第i結構,和j對數組的第j個元素)。
我在做什麼錯?