【发布时间】:2018-07-25 11:52:13
【问题描述】:
根据定义的行为,未初始化的全局 int 始终为 0,如果它不是全局的,则不是这样。全局结构呢? 有没有
struct s
{
int a;
}instance;
int main()
{
printf("%d\n", instance.a);
return 0;
}
总是打印0 还是技术上未定义的行为?
【问题讨论】:
-
全局(和静态)变量初始化为0,是的。可能有重复。
-
是的。请下一个问题;)
-
这不是未定义的行为。
-
无论是
structs、数组还是简单变量(如char、int等),全局变量和静态变量总是初始化为0。