構造体の配列を作成したいと思います。配列の構造体は、ユーザーからのファイル/入力から読み込まれます。構造体内の配列要素にアクセスする(構造体の配列の一部です)(C言語)
Iの構造体を宣言する:
struct student{
char name[16];
int *available;
int sum;
};
typedef struct student ST;
Iは、(サイズの入力を取得した後)構造体の配列にメモリを割り当てる:
ptr = (ST*)calloc(lines, sizeof(ST));
Iは、各構造体に各アレイのためのスペースを割り当てます(ループを使用):
ptr->available = (int*)calloc(lines, sizeof(int));
NOW - これらの配列に値を入れたいと思います。どのように各要素に到達するのですか?
私が試した:
*((ptr+i)->(available+j)) = 1;
をしかし、コンパイラは私に語った:error: expected identifier before ‘(’
(i、jは、私が使用してインデックスされている、私はi番目の構造体のために、配列のj番目の要素のためのJ )。
私は間違っていますか?