私はCで以下のデータ構造を効率的に管理(アクセスする方法)するのはかなり混乱しています。簡単に説明すると、私は別の構造体のメンバを含む構造体を持ち、等々。このようなもの:この複合Cデータ構造を構築して管理するにはどうすればよいですか?
typedef struct
{
int num;
} D;
typedef struct
{
D *boo;
} C;
typedef struct
{
C *far;
} B;
typedef struct
{
int foo;
B *bar;
} A;
A *func() {
A *var;
// POPULATE var
}
int main(...) {
A *a = func();
// PRINTING
}
このデータ構造を管理するにはどのような方法が最適ですか?私はこのA型ポインタのデータをどのように埋めるのでしょうか?
a
が(// PRINTING
に)保存されているすべてのデータを印刷しようとしているとしたら、a->bar->far->boo->num
のようになります。これが適切に機能するかどうかわからないので、堅牢です。
最初にするべきことは、各単一メンバー 'struct'を' typedef'で置き換えることです。 –