首先 明白 这个单词 是什么意思?
Extern : 外部 的意思
用法
置于 变量或者函数前,表示变量或者函数的定义在别的文件中,提示 编译器 遇到此变量和函数时,在其他模块中寻找其定义。
作用 主要有两个
第一个 : 与 “C” 一起连用时,如 extern “C” void fun(int a,int b)告诉编译器在编译fun 这个函数名的时候按照C的规则去编译。而不是C++
第二个: 当extern 不与C 一起修饰变量或函数时。如在头文件中:externa int g_int ;作用是: 声明函数或者全局变量 的作用范围的关键字,声明的函数或者变量可以在本模块或者其他模块中使用。记住,它 是一个声明不是定义。
extern用在变量声明中常常有这样一个作用,你在*.c文件中声明了一个全局的变量,这个全局的变量如果要被引用,就放在*.h中并用extern来声明。
.具体解释及示例
2.1.extern的变量和函数声明
extern用于修饰变量或函数,用于声明当前变量或函数可以在本模块或者其他模块中使用。不过要记住的是extern只是声明,而不是定义,也就是说extern并不分配空间。而这个查找的过程是在连接的过程中进行的,因此编译阶段虽然找不到该变量或函数,但是也不会报错。下面用三个例子来看一看。
(1)无extern声明,有变量定义。
stdafx.cpp
#inclu