代码点读机 / C / extern

extern C · 关键字

声明一个变量或函数在别处定义,告诉编译器在当前文件外去找它。

怎么用

extern 类型 变量名; 或 extern 返回类型 函数名(参数);

小例子

// 文件 a.c
int g = 10;

// 文件 main.c
#include <stdio.h>
extern int g;
int main(void) {
    printf("%d", g);
    return 0;
}

编译结果

编译通过,分文件编译链接后运行输出 10

提醒:本示例需分成两个文件编译链接;多文件共享全局变量或函数声明时常用;不要在头文件里用 extern 定义变量

官方文档:https://en.cppreference.com/w/c/language/storage_duration

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C全部词条