1. 为什么要区分变量的声明和定义?主要是为了让多个文件可以访问同一个变量;
2. 一个变量的定义会为变量分配存储空间,也有可能同时为其提供初始值;
3. 声明则仅给出变量的数据类型和变量名称;
4. 变量的定义肯定也是变量的声明,反之则未必;
5. 在作用域内,变量的定义有且仅有一个,声明则可以有多个;
6. 有extern的时候,两者的情况区分:
extern int i; // 声明而不是定义,因为不分配存储空间。
extern int i = 1; //定义,因为分配了存储空间
2. 一个变量的定义会为变量分配存储空间,也有可能同时为其提供初始值;
3. 声明则仅给出变量的数据类型和变量名称;
4. 变量的定义肯定也是变量的声明,反之则未必;
5. 在作用域内,变量的定义有且仅有一个,声明则可以有多个;
6. 有extern的时候,两者的情况区分:
extern int i; // 声明而不是定义,因为不分配存储空间。
extern int i = 1; //定义,因为分配了存储空间