相互に依存する構造の配列がたくさんあります。別の構造体の配列内のレコードへのメンバー変数ポインターに苦労しています。参照用に3つの構造体を配置
struct struct1 {
int node_id;
struct2* ptr; };
struct struct2 {
int node_id;
int type;
struct1* owner;
struct2* next;
struct2* previous;
struct3* block1;
struct3* block2; };
struct struct3 {
int node_id;
int n_entries;
struct3* next_block; };
今私の質問は、struct1のレコードをフェッチする方法です。私はそれが次のようになることができることを知っていました
struct1 pstruct1;
struct2 pstruct2;
pstruct.ptr = &pstruct2;
おそらく、各構造体に1セットのレコードがある場合。しかし、これに似たものであれば、構造体の配列に何を使用する必要がありますか?
pstruct1[i].ptr = &pstruct2[j];
'j'値を見つけるにはどうすればよいですか?また、関数の呼び出しから渡された構造を受け入れるように、未定義のメンバー変数の引数structを使用して共通関数を作成することは可能ですか?私のコーディングのいずれかが間違っている場合は申し訳ありません。前もって感謝します。