私の目的は、bがNULLに初期化されていることを確認することです。stuctureメンバーをNULLに自動初期化する
標準ISO/IEC 9899:201X節6.7.9-> 10の状態
静的またはスレッド記憶域期間を持つオブジェクトは、明示的に初期化 されていない場合: - それはを持っている場合ポインタタイプでは、NULLポインタに初期化された です。プログラムの下
:
#include<stdio.h>
struct A
{
char* b;
};
int main(void)
{
static struct A obj;
if (obj.b==NULL)
printf(" obj.b auto Initialized\n");
return 0;
}
は私に出力を与えました。
obj.b auto Initialized
これは、6.7.9-> 10節が構造オブジェクトのすべてのメンバーに適用できることを意味しますか?
注:引用で重点鉱山が
「その型のゼロ値に初期化されました」は高級でした。 +1 – sjsam