比如
int arr[1000000]={0};
int main()
{
return 0;
}
写一个这样的代码,生成的exe文件比int arr[1000000]={1};的要小
为什么?
因为数组所有元素的默认值都是0。所以int arr[1000000]={0};相当于只记录了arr数组的地址 指向一片没用的内存区。
可能和链接阶段机器 初始化过程有关。
int arr[1000000]={0}; 相当于申请了一个数组地址,
int arr[1000000]={1}; 相当于申请了一个数组空间并初始化值。。