文件1.c
#include <stdio.h>
void f(void)
{
//s具有块作用域,但是具有外部链接
extern int s;
printf("%d\n",s);
}
int main()
{
f();
return 0;
}
文件2.c
int s = 1234;
文件1.c和2.c一起编译,在gcc中编译如下:
gcc 1.c 2.c -o outputfile
结论:这种情况出现在一个变量可能在一个文件中是块作用域(定义在其它地方),但是定义这个变量的文件中(另一个文件了)是外部链接的(当然也是全局作用域),结果就是在1.c中具有块作用域同时具有外部链接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)