9
extern关键字对C函数的影响
在C语言中,我没有注意到extern函数声明之前使用的关键字的任何作用。起初,我认为extern int f();在单个文件中定义时会迫使您在文件范围之外实现它。但是我发现两者: extern int f(); int f() {return 0;} 和 extern int f() {return 0;} 编译就很好,没有来自gcc的警告。我用过gcc -Wall -ansi; 它甚至不会接受//评论。 使用extern before函数定义有什么影响吗?还是只是一个可选关键字,对功能没有副作用。 在后一种情况下,我不明白为什么标准设计者选择用多余的关键字来填充语法。 编辑:为澄清起见,我知道externin变量的用法,但我只问externin 函数。