问题描述
- 为什么数组初始化为0比数组初始化为1要小?
-
比如
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}; 相当于申请了一个数组空间并初始化值。。
时间: 2024-08-03 15:42:42