在c中,未初始化的全局变量是否始终默认为0?
|
我知道未初始化的全局变量将在BSS段中恢复,并且操作系统应将其初始化为零。
但这不是必须的,而且我从未见过任何标准说未初始化的全局必须默认为零,因此将其视为理所当然地安全吗?
没有找到相关结果
已邀请:
3 个回复
怪酞撩匹
诧不达
琳娘
,则标准表示该值也应为零。但这并不能保证一定会,并且我相信键入多余的两个字符不会带来太大的成本,而且可以提高程序的可读性,并且如果您发现确实需要在不使用此功能的平台上编译代码,则可以提高可移植性预初始化全局变量。这就是我的观点-为什么不这样做,即使标准说您应该没问题,您也可能会掩饰自己。