全局变量是否总是用零初始化?

时间:2018-10-23 12:05:22

标签: c standards

我可以信任这个吗?

  

第6.7.8p10节,C标准的初始化

是否总是将其设置为0?此规则是否有例外(也许是编译器特有的例外)?

1 个答案:

答案 0 :(得分:8)

是的,如果编译器是C编译器,则所有其他未初始化的静态变量将被{ 0 }初始化。这意味着即使位模式不同,浮点数和指针也将好像由{ 0 }初始化。

如果编译器可以选择成为非C编译器,那么所有选择都将关闭。