一、声明与定义概念
定义: 用于为变量分配存储空间,一个程序中变量有且仅有一个定义。
声明: 用于向程序表明变量的类型和名字,一个程序中变量不一定声明一次。
二、联系与区别
1. 定义是声明, 因为变量定义时会声明变量的类型和名字;
2. 声明不是定义,因为声明不分配存储空间,只声明不定义要在对象类型前加关键字extern;
三、例子
1. extern int i; // 声明
int i; // 定义
2. extern int i = 23; //定义
int i; // 错误! 变量只能定义一次