在 C 中的多个文件中定义一个外部变量

时间:2021-05-17 17:57:38

标签: c

0.c

extern int num;

int main(){
 return num;
}

1.c

int num;

2.c

int num = 5;

上面用 gcc 0.c 1.c 2.c 编译得很好。为什么我在链接过程中没有收到 multiple definition 错误?

int num; 下的 1.c 不是完整定义吗?:

<块引用>

如果到达翻译单元的末尾并且没有出现带有标识符初始值设定项的定义,则暂定定义将成为完整定义。

或者这是未定义的行为?

0 个答案:

没有答案
相关问题