C++中声明和定义的区别

1、定义包含了声明,但是声明不包含定义,

int a = 0; //定义并声明了变量 a extern int a; //只是声明了有一个变量 a 存在,具体 a 在哪定义的,需要编译器编译的时候去找。

2、函数也是类似,定义的时候同时声明。但如果只是声明,编译器只知道有这么个函数,具体函数怎么定义的要编译器去找。

void fun1();  //函数声明 void fun1(){ //函数定义 cout<<"fun1"<<endl; }

3、C/C++ 编译 cpp 文件是从上往下编译,所以 main 函数里面调用其他函数时,如果其他函数在 main 函数的下面,则要在 main 函数上面先声明这个函数。

或者把 main 函数放在最下面,这个不仅限于 main 函数,其他函数的调用都是如此。被调用的函数要在调用的函数之前声明

 

猜你喜欢

转载自www.cnblogs.com/gkh-whu/p/11457211.html