前言
1、C/C++ extern关键字用法
2、extern "C"用法
正文
1、extern关键字
extern其实就是一个声明,明确指出一个语句是声明,比如extern int i
;这是声明变量i,而不是定义i,定义i则是int i
(声明不开辟内存空间,而定义是要开辟内存空间的)
使用场景1:(适用于简单项目,几个文件之间的调用)
extern可以声明一个变量,表示该变量来自其他文件,在此文件中可以被访问。
比如,目前创建了两个c文件,分别是test.c和main.c,如果在main.c中想获取test.c中的i变量,则只要在main.c的文件中加上这么一行:extern int i
//test.c文件
int i =5;
//main.c文件
#include <stdio.h>
extern int i;
int main()
{
printf("i=%d\n",i);
return 0;
}
使用场景2:适合用于大工程
假如我一个大工程,这个工程由超级多的文件,这些文件假如都要访问test.c文件的 变量 i,那么,只能在这些文件中,每个文件的开头都 声明变量 i,并且,假如我的test.c,不止一个定义一个变量i,有好多其他变量呢?在其他文件访问时候,都要声明好多变量,这会使得书写难度很繁琐,并且维护成本也大。
所以,可以把声明语句放到一个头文件中去使用,即定义一个test.h的头文件,在该头文件中添加声明,然后当有其他文件需要调用这些变量时,之间调用此头文件即可。
//test.c文件
int i = 5;
int b = 6;
int b =