变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
声明用于向程序表明对象的名字和类型。
定义也是声明:当定义变量时,我们声明了他的类型和名字。
可以通过使用extern关键字声明而不定义它。
不定义变量的生命包括对象名,对象类型和对象类型前的关键字extern。
extern int i; //declares but not define i
int i;// declares and define i
extern声明不是定义,也不分配存储空间。事实上,他只是说明变量定义在程序的其他地方。
程序中的声明可以多次,但是只能定义一次。
只有当声明也是定义时,声明才可以有初始化式,因为只有定义才分配初始化式。