不完全な型
不完全な型は識別子のサイズを決定するために必要な識別子でない情報を記述する型です。不完全な 「型」は次のとおりです :
ユーザーがまだ指定していない構造体のメンバー。
ユーザーがまだ指定していない共用体型のメンバー。
ユーザーがまだ指定していない配列型の次元。
void 型は完成した場合不完全な型です。不完全な型を完了するには必要な情報を指定します。次の例では不完全な型を作成して実行する方法は示されています。
不完全な構造体型を作成するにはメンバーを指定しないで構造体の型を宣言します。この例では不完全な構造体の型へのポインター ps のをポイントし student を呼び出します。
struct student *ps;
不完全な構造体型を完了するには同じ構造体を型として指定したメンバーと同じスコープの後で宣言します。
struct student { int num; } /* student structure now completed */
不完全な種類の配列を作成するには繰り返しの回数を指定せずに配列型を宣言します。次に例を示します。
char a[]; /* a has incomplete type */
不完全な種類の配列を完了するには同じ名前を繰り返し指定された数としてのスコープで同じ後で宣言します。
char a[25]; /* a now has complete type */