首页 > 代码库 > 第四章 连接

第四章 连接

4.2声明与定义
extern int a;
这是一个显示声明,说明了a的存储空间在程序的其他地方分配的。

严格来说,每一个外部变量只能定义一次。如果外部变量的多个 定义各指定有一个初始值,例如:
//l1.c
int a=1;

//l2.c
int a=2;
这样会出错。

但是如果变量没有指定初始值的话,一些系统会接受这样的程序。


4.3命名冲突与static修饰符

在C语言中用static声明限定外部变量与函数,可以将其后声明的对象的作用域限定为被编译源文件的剩余部分

static修饰符是一个能够减少命名冲突的有用工具。例如:
static int a;
int a;
前者的作用域限制在一个源文件中,对于其他源文件是不可见的。
static修饰符不仅适用于变量,也适用于函数。