(一)C语言中的extern

利用关键字extern,可以在同一项目下,在一个文件中引用另一个文件中定义的变量或者函数

(1)a.c文件

1
2
3
4
5
6
int a = 10;

void fun()
{
printf("hello world\n");
}

(2)b.c文件

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
extern int a; //外部变量
extern void fun(); //外部函数

int main()
{
printf("a = %d\n", a); //使用
fun(); //调用
return 0;
}

结果:
在这里插入图片描述


(二)C++中的extern

作用:干预代码的编译方式

语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
using namespace std;

//对这段代码使用C编译器编译
extern "C"
{
void fun()
{
printf("hello world c\n");
}
}

//对这段代码使用C++编译器编译
extern "C++"
{
void funcpp()
{
cout << "hello world cpp" << endl;
}
}

int main()
{
fun();
funcpp();
return 0;
}

结果:
在这里插入图片描述