定义与声明(定义也是是声明,最大差别在于定义会为变量分配存储空间,但声明不会。)
定义Definition:编译器创建一个对象,为对象分配一块内存并为其取名,此名即为变量名。
声明Declaration:向程序表明变量的类型和名字。
即定义就好像你在图书馆占了一个位置并且你本人也做了上去,定义则为你用一本书占了位置但你本人并未坐上去。
int i;//定义但未初始化该变量i;定义该变量的同时我们声明了该变量的名字。
extern int j;//声明;通过extern关键字声明变量但不定义它。
void main(int i,char c);//函数声明
int k=1;//定义并初始化(Initialize)变量i;
我们来看下图,为声明初始化是错误的。即不能对声明变量进行初始化。