ISO/IEC 9899:1999 より -> 6.7.8 初期化 § 10
自動保存期間を持つオブジェクトが明示的に初期化されていない場合、その値は不確定です。静的ストレージ期間を持つオブジェクトが明示的に初期化されていない場合:
— ポインター型の場合、null ポインターに初期化されます。
— 算術型の場合、(正または符号なし) ゼロに初期化されます。
— 集合体の場合、すべてのメンバーはこれらの規則に従って (再帰的に) 初期化されます。
— 共用体の場合、最初の名前付きメンバーは、これらの規則に従って (再帰的に) 初期化されます。
このコードを想像してください。
int main()
{
static char *szArray[4];
return 0;
}
の各メンバーが?szArray[]
で初期化されることが保証されます。NULL
または、このコンテキストで「再帰的に」理解するにはどうすればよいですか?