重複の可能性:
C での静的変数の初期化
C では、グローバル変数または静的変数のいずれかが自動的にゼロで初期化されることを知っています。しかし、それらの両方が初期化されるのか、それとも 1 つだけが初期化されるのかはわかりません。関数で定義された変数についてではなく、.c ファイルでグローバルに定義されていることに注意してください。
次の変数のうち、自動的にゼロで初期化されるのはどれですか?
static struct mystruct var1;
struct mystruct var2;
static struct { int x; int y; } var3;