Extern关键字对C函数的影响
在C中,我没有注意到extern函数声明之前使用的关键字。起初,我认为当定义extern int f();在一个文件中力在文件的作用域之外实现它。但是我发现两者都是:
extern
extern int f();
extern int f();int f() {return 0;}
和
extern int f() {return 0;}
编译得很好,没有GCC的警告。我用gcc -Wall -ansi它甚至不会接受//评论。
gcc -Wall -ansi
//
是否有使用的效果?extern 函数定义之前?或者它只是一个可选的关键字,对函数没有副作用。
在后一种情况下,我不明白为什么标准设计人员选择用多余的关键字乱扔语法。
编辑:为了澄清,我知道extern在变量中,但我只是问extern在……里面功能.
摇曳的蔷薇
慕少森
相关分类