变量声明
告诉程序变量的名字和类型 可以声明多次
变量定义
变量定义主要是为变量分配存储空间还可以初始化 只能定义一次
extern
变量
只是对变量进行声明 不进行定义 就是告诉程序有这个变量
如果既使用extern 又初始化定义 那就是定义 不是声明了
extern int a = 10;
只要不加extern的都算作定义 无论有没有初始化
函数
相较于将函数声明放在头文件再包含头文件的方法
可以直接使用extern void func();就不需要包含相应的头文件了
这样做的优点就是简明而且会加速程序的编译(确切的说是预处理)的过程,节省时间。在大型C程序编译过程中,这种差异是非常明显的。
extern “C”
在C++程序中用extern “C”声明要引用的函数。这是给链接器用的,告诉链接器在链接的时候用C函数规范来链接。主要原因是C++和C程序编译完成后在目标代码中命名规则不同。