【发布时间】:2023-12-18 21:30:01
【问题描述】:
为什么在 C 中允许使用此代码?
int x;
int main() {
printf("%d\n", x);
return 0;
}
int x = 2;
使用-Wall -std=c89 和gcc 和clang 编译时不会出现警告。
我之前认为int x在全局范围内等价于int x = 0。我发现自己很惊讶。
【问题讨论】:
-
@pablo1977
x是一个静态变量!
标签: c variables storage global declaration