我正在从一本书中阅读有关 SIOF 的信息,它举了一个例子:
//file1.cpp
extern int y;
int x=y+1;
//file2.cpp
extern int x;
int y=x+1;
现在我的问题是:
在上面的代码中,会发生以下事情吗?
- 在编译file1.cpp 时,编译器将y 保留原样,即不为其分配存储空间。
- 编译器为 x 分配存储空间,但不初始化它。
- 在编译file2.cpp 时,编译器将x 保留原样,即不为其分配存储空间。
- 编译器为 y 分配存储空间,但不初始化它。
- 在链接 file1.o 和 file2.o 时,现在让 file2.o 先初始化,所以现在:
x 的初始值是否为 0?还是没有初始化?