未初始化的数据段的内容并不放在磁盘上的程序文件中

chenzhp 2014-04-28 11:08:07
可以注意到未初始化的数据段的内容并不放在磁盘上的程序文件中,因为,在程序开始运行前他们都被设置为0。需要存放在程序文件中的只有正文段和初始化数据段。


这是UNIX环境高级编程中的一句话,没懂。

我声明的这种比如:
long sum[1000];

为什么说不放在磁盘上的文件中?
我自己声明的不在磁盘上?

而初始化数据段比如:
int aa = 500;
就放在了程序文件中,这和我上边的有什么区别?
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-04-28
  • 打赏
  • 举报
回复
《Windows PE权威指南》
lm_whales 2014-04-28
  • 打赏
  • 举报
回复
简单比喻一下,你有一个账本,记录你今年买了多少米; 如果这些米没什么区别,你难道还需要记录每个米粒的信息; 只怕,你连几袋子米,你都不乐意去记录、 只要记录,每次买了几斤米就行了。
lm_whales 2014-04-28
  • 打赏
  • 举报
回复
未初始化的数据段,只需要知道每个数据的位置和大小就可以了; 位置,多半写入代码的指令中去了; 每个数据大小,如果需要的话,也已经写入代码中了; 所以大小,只需要整个未初始化的数据段的大小即可; 文件里存储这些数据,岂非多余,而且增加文件的空间占用量。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧