声明:用来告诉编译器变量的名称和类型,而不分配内存,不赋初值。
定义:为了给变量分配内存,可以为变量赋初值。
注:定义要为变量分配内存空间;而声明不需要为变量分配内存空间。
2. int a; 是声明?还是定义?
在函数内部:
int a;// 定义,作为局部变量分配了空间 extern int a;// 声明
int a;// 定义,作为局部变量分配了空间
extern int a;// 声明
在函数外部与在头文件中:
int a;// 全局变量,声明兼未初始化定义,详见参考文献 extern int a;// 声明
int a;// 全局变量,声明兼未初始化定义,详见参考文献