c中有时候一个名字具有块作用域但是有外部链接的一个例子

2023-05-16

文件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(使用前将#替换为@)

c中有时候一个名字具有块作用域但是有外部链接的一个例子 的相关文章

随机推荐