第四章 连接

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

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

int a=2;
这样会出错。


可是假设变量没有指定初始值的话,一些系统会接受这种程序。


4.3命名冲突与static修饰符

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

static修饰符是一个可以降低命名冲突的实用工具。比如:
static int a。
int a。
前者的作用域限制在一个源文件里,对于其它源文件是不可见的。

static修饰符不仅适用于变量,也适用于函数。

原文地址:https://www.cnblogs.com/lcchuguo/p/5075634.html