定义和声明判断: A)int i;//定义; B)extern int i; //声明;
定义:定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。一个变量或对象在一定的区
域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义同一个变量或对象。
声明:有两重含义,如下:
第一重含义:告诉编译器,这个名字已经匹配到一块内存上了,下面的代码用到变量或对象是在别的地方定义的。声明可以出现多次。
第二重含义:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量名或对象名。这种声明最典型的例子就是函数参数的声明,例如:void fun(int i, char c);
我们可以很清楚的判断:A)是定义;B)是声明。
记住,定义声明最重要的区别:定义声明最重要的区别:定义创建了对象并为这个对象分配了内存,声明没有分配内存。