末树之墨
2014-01-17 07:14
采纳率: 0%
浏览 2.0k

为什么数组初始化为0比数组初始化为1要小?

比如
int arr[1000000]={0};

int main()
{
return 0;
}
写一个这样的代码,生成的exe文件比int arr[1000000]={1};的要小
为什么?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 滴水冰冻 2014-01-17 09:07

    因为数组所有元素的默认值都是0。所以int arr[1000000]={0};相当于只记录了arr数组的地址 指向一片没用的内存区。

    打赏 评论
  • csdnword 2015-07-30 09:42

    可能和链接阶段机器 初始化过程有关。

    打赏 评论
  • shen_wei 2015-10-14 06:04

    int arr[1000000]={0}; 相当于申请了一个数组地址,
    int arr[1000000]={1}; 相当于申请了一个数组空间并初始化值。。

    打赏 评论

相关推荐 更多相似问题