c - 函数声明中显式 "extern"关键字的含义/意义是什么?

标签 c extern function-declaration

<分区>

请解释为什么它在函数声明中使用extern

main.c

...
pthread_create(&displayThread, &attr, displayThrFxn, &displayEnv);
...

display.h

extern Void *displayThrFxn(Void *arg);

为什么要extern

display.c

...
Void *displayThrFxn(Void *arg)
{
    // some code
}
...

最佳答案

这里使用extern有点多余。默认情况下,如果未指定任何内容,则函数具有外部链接。

引用 C11 标准,章节 §6.2.3

If the declaration of an identifier for a function has no storage-class specifier, its linkage is determined exactly as if it were declared with the storage-class specifier extern. [...]

关于c - 函数声明中显式 "extern"关键字的含义/意义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32889780/

相关文章:

c - 函数指针变量

c++ - C++ 如何区分对全局变量的调用和全局变量的声明?

php - 关键字 "callable"在PHP中有什么作用

c++ - 将值从一个函数传递给另一个 C++

局部变量和寄存器变量可以声明为外部吗?

javascript - 在 JavaScript 中声明 for 循环函数

c - UNIX:使用 fork() 和 dup2() 在循环中运行进程提前结束循环

c++ - nullptr 是否用于终止 C 风格的字符串?

c - 当达到 char 值时,我的 struct c 编程崩溃了

c - GCC/链接器错误 : using extern keyword gives duplicate definition