int 要素の配列が C で宣言されているかどうかを知りたいのですが、配列の一部の値のみが 0 に割り当てられ、他の値がガベージ値を格納するパターンはありますか? 元:
#include <stdio.h>
void main()
{
int a[5];
int i;
for (i=0;i<=4;i++)
{
printf("%d\n",a[i]);
}
}
プログラムをコンパイルして実行すると、次の出力が得られます。
0
0
4195344
0
2107770384
したがって、ゼロがあり、コンパイルa[0], a[1]
および実行されるたびに同じ値が含まれますが、a[3]
値は変化し続けます (負の数を含む)。配列の一部の固定インデックスのみがゼロに初期化され、メモリ空間の過去の割り当てに関連するものがあるのはなぜですか?a[2]
a[4]