不完全型

以下は、不完全型です。

void は、完全にできない不完全型です。 不完全な構造体または共用体および列挙型タグは、オブジェクトを宣言するために使用される前に、 完全にしなければなりません。ただし、不完全な構造体または共用体に対するポインターは、定義できます。

C サイズが指定されていない配列は不完全型です。 ただし、定数式の代わ りに、配列サイズを可変長配列を示す [*] によって指定した場合、サイズは指 定されたものと見なされ、配列型は完了型と見なされます。

C 関数宣言子がその関数の定義の一部ではない場合、パラメーター は不完全な型を持つこともあります。パラメーターはまた、[*] 表記で示される可変長配列型を持つことがあります。

次は、不完全型の例です。

      void *incomplete_ptr;
      struct dimension linear; /* no previous definition of dimension */
 
void は、完全にできない不完全型です。 不完全な構造体、共用体、または列挙型タグは、オブジェクトの宣言に使用される前に完全にしな ければなりません。 ただし、不完全な構造体または共用体に対するポインターは定義できます。

関連参照

IBM Copyright 2003