c++ 声明和定义有哪些区别?
请分别举例说明一下,
哪些个是声明
哪些是定义
另外一就是
加上前缀extern的变量 同普通的变量都有哪些个区别的?
我看c++ primer 这本书,上面虽然解释得很清楚,但不知道是不是他
讲的太详细了。绕里面去了,我也分不清楚那些东西了。
c++ 声明和定义有哪些区别?
请分别举例说明一下,
哪些个是声明
哪些是定义
另外一就是
加上前缀extern的变量 同普通的变量都有哪些个区别的?
我看c++ primer 这本书,上面虽然解释得很清楚,但不知道是不是他
讲的太详细了。绕里面去了,我也分不清楚那些东西了。
。。。。声明顾名思义就是先告诉下编译器有个“家伙”叫这个名字,但是不知道那“家伙”死哪玩去了
定义就是告诉编译器那“家伙”的名字以及它的特长(就是指函数体,具体实现什么代码)
extern它告诉编译器 这“家伙”来自国外的(也就是说他的内容在另外的文件)
如果你没有编程语言的基础的话,不要先看c++ primer 因为这本书要有一点基础的看,效果更加。
如果初学可以看c++ primer plus 这本书,适合初学。
声明函数是没有函数体. 而定义有函数体.
声明的话就是没有函数体. 而定义有函数体.
一般函数可以采用在定义时同时声明(也就是在调用该函数前定义函数.)
如:
int max(int a,int b){} //这就是定义的时候同时声明了..
另外一种就是在调用函数之前声明.在文件的其他地方定义.
如:
int max(int ,int ); //这是声明. 在声明中必须有形参类型.但是可以省略形参名.注意声明要加分号!
........
int max(int a,int b){} //这是定义.
extern和普通变量的区别在于.普通变量只能在自己的文件中使用. 而extern可以在外部文件使用.