我想知道是否在C中声明了一个int元素数组.是否有一个模式,根据该模式,只有数组的某些值被赋值为0而其他值存储垃圾值?例如:
#include <stdio.h>
void main()
{
int a[5];
int i;
for (i=0;i<=4;i++)
{
printf("%d\n",a[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
编译并运行程序后,我得到了这个输出,即
0
0
4195344
0
2107770384
Run Code Online (Sandbox Code Playgroud)
所以零存在a[0], a[1]并且a[3]while a[2]每次编译和运行时包含相同的值,而a[4]值保持变化(包括负数).为什么只发生一个数组的某些固定索引被初始化为零并且它是否与过去的内存空间分配有关?