1.定义
全局函数:全局域内的函数声明。
全局对象:全局域内的变量声明。
生命期:
函数声明:指定了函数的名字以及函数的返回类型和参数表。 见eg1.
函数定义:除了函数声明的语句,还为函数提供了函数体,即花括号内的一个语句序列。
extern:为声明但不定义一个对象提供了一种方法。extern不会引起内存被分配,它可以在同一个文件中,或同一个程序的不同文件中出现多次。见eg3.
2.示例及应用
eg1: void cale(int );//函数cale的声明,其定义由其他语句实现。
int main()
{
int loc=get();//Wrong,get尚未定义。
cale(loc);//OK,找到cale的声明
}
eg2:对象定义的两种形式:
int obj1=97;//obj1被初始化为97
int obj2;//obj2没有被赋初始值,则该存储区被初始化为0.
eg3://头文件:全局对象声明。
extern int obj1;
extern int obj2;
//文本文件:引用全局对象。
int obj1=97;
int obj2;
eg4:当一个全局对象,指定了关键字extern和指定了显示初始值,则视为该对象已被定义。编译器后续定义会被标记为错误。
extern const double bi=3.14;//定义
const double bi;//错误:重复定义。