不完全宣言
構造体:インデックス への移動
不完全宣言は,前方参照宣言とも呼ばれます。
構造体型 A を指すポインタは,構造体 A の宣言が完了する前に,別の構造体 B の宣言として正当に使うことができます。
struct A; // 不完全
struct B { struct A *pa };
struct A { struct B *pb };
最初の A は,その時点では A の定義は存在しないので「不完全」と呼ばれます。不完全宣言は,このように B の定義が A のサイズを必要としない場合に認められます。