外部链接常量
如果某个链接性为外部的,则可以使用extern关键字来覆盖默认的内部链接性。
例子
extern const int states=10;
在这种情况下,必须在所有使用该常量的文件中使用extern关键字来声明它。由于单个const在多个文件之间共享,因此只有一个文件可对其初始化。
外部链接变量
链接性为外部的变量通常简称为外部变量,它们的存储持续性为静态,作用域为整个文件,外部变量是在函数外部定义的,因此对所有的函数而言都是外部的。例如:可以在main()钱买你或头文件中定义它们。可以在文件中位于外部变量定义后面的任何函数中使用它们,外部变量也称为全局变量(相对于局部的自动变量)
例子:
file01
int dogs=22; //definition
int fleas;//definition
extern int cats =20;//definition because of initialization
file02
extern int dogs;//extern and have no initialization
file03
extern int dags;//use dags and fleas from file01
extern int fleas;
在这里,所有文件都使用了file01中定义的cats和dogs ,fleas。在file01中,关键词extern并非必不可少,即使省略它,效果也相同。
不同
常规该部变量时,不必使用extern关键字,但在使用该变量的其他文件中必须使用extern。