8.10 头文件剖析:变量声明
外部声明
extern int i;
extern int a[20];
extern struct student stu;
函数的定义与声明
函数默认是extern 可以省略
extern int function();
extern “C” int function();
区分定义和声明
int i = 10; //如果省略extern且具有初始化语句,为定义
extern int i; //如果使用extern,无初始化语句,为声明
int i; //如果省略extern且无初始化语句,为试探性定义
试探性定义
tentative definition
– 在别的文件里可能有定义,先暂时定为声明declaration
– 若别的文件里没定义,按语法规则初始化一些默认值,变
为定义definition
– 一些默认值:NULL、0、 undefined values
int i