我为什么要使用" extern"用于C中的函数声明?

时间:2015-07-14 07:16:32

标签: c extern

我想知道在声明函数时跳过extern存储类说明符是否有任何区别?具体来说,以下两个之间有什么区别吗?

void foo ();   

extern void foo();

1 个答案:

答案 0 :(得分:2)

  

以下两个之间有什么区别吗?

基本上没有。

每个函数声明默认为extern,(即没有任何特定存储类说明符)。

引用C11,章节§6.2.2,标识符的链接

  

如果函数的标识符声明没有存储类说明符,则其链接的确定方式与使用存储类说明符extern声明的完全相同。