【问题标题】:why global variable in C takes zero as initial value? [duplicate]为什么C中的全局变量将零作为初始值? [复制]
【发布时间】:2010-08-06 16:30:32
【问题描述】:

可能重复:
Static variable initialization?

为什么 C 中的全局变量取零作为初始值?

【问题讨论】:

  • 你喜欢什么? 0xFEEDBEEF?
  • @Paul:我更像是 0x0BADF00D 类型的人。
  • 他们不必这样做。您可以将它们初始化为任何“常量”值(对于“常量”的特殊值);零恰好是默认值。
  • 如果您愿意,可以在声明中将静态变量初始化为非零值。

标签: c


【解决方案1】:

这是编译器符合 C 标准所必需的。

选择设计的原因可能是在未初始化的变量中包含随机垃圾会使错误更难检测。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 2011-01-06
    • 2013-10-08
    相关资源
    最近更新 更多