定义告诉编译器在在哪个位置存储变量,声明没有
声明:告诉编译器,变量类型和名字
定义:告诉编译器变量存储的位置。
int i;
// 这是声明+定义。声明:告诉编译器变量类型int,变量名字i,
// 定义:告诉编译器位置分配在全局变量区存储
extern int i;
// 这是声明,告诉编译器变量类型int,变量名字i,位置不知道,反正外部已经有人分配了。
// -----不要写在一起,重复实现定义会报错,定义只能出现一次--------------------
int main (){
int i;
}
// 这是声明,告诉编译器有一个变量i,类型是int.
// 这也是定义:告诉编译器,当main函数调用时,为int i在栈内存中开辟空间。