ページ 1 / 1
参照の順序
Posted: 2010年5月08日(土) 21:08
by 馬
struct A {
B* b;
};
struct B {
A* a;
};
初めまして。
C言語で上のようなデータ構造を実現したいのですが、どのように記述すれば良いでしょうか?
単純な事なのかも知れませんが、どなたかご教授下さい。
Re:参照の順序
Posted: 2010年5月08日(土) 21:45
by ひよこ
struct A;
struct B;
と仮の宣言?をすればいいと思います。
Re:参照の順序
Posted: 2010年5月08日(土) 21:52
by たかぎ
> C言語で
本当ですか?
Re:参照の順序
Posted: 2010年5月08日(土) 23:24
by 馬
ひよこさんありがとうございます。一歩前に進みました。
では、
tyepdef struct _A {
PB pb;
} A, *PA;
typedef struct _B {
PA pa;
} B, *PB;
等のようにtypedefを使用した場合はどうしたら良いでしょうか?
structを記述せず定義しているのでC++ですね。
C++からプログラムに入ったのでCとC++の境界が自分の中で非常に曖昧になっていて申し訳ない。
Re:参照の順序
Posted: 2010年5月08日(土) 23:43
by たかぎ
これでどうでしょうか?
typedef struct A A, *PA;
typedef struct B B, *PB;
struct A {
PB pb;
};
struct B {
PA pa;
};
ちなみに、struct _A や struct _B のように、下線で始まって大文字が続く識別子を使うと未定義の動作になります。
http://www.kijineko.co.jp/tech/supersti ... score.html
> C++からプログラムに入ったのでCとC++の境界が自分の中で非常に曖昧になっていて申し訳ない。
↓こちらを参考にしてください。
http://www.kijineko.co.jp/tech/cpp2c