现在才算理解声明和定义的区别了:
定义包含了声明,但是声明不包含定义,如
int a =0; //定义并声明了变量 a
externint a; //只是声明了有一个变量 a 存在,具体 a 在哪定义的,需要编译器编译的时候去找。
函数也是类似,定义的时候同时声明。但如果只是声明,编译器只知道有这么个函数,具体函数怎么定义的要编译器去找。
void fun1(); //函数声明
void fun1(){ //函数定义
cout<<"fun1"<<endl;
}
现在才算理解声明和定义的区别了:
定义包含了声明,但是声明不包含定义,如
int a =0; //定义并声明了变量 a
externint a; //只是声明了有一个变量 a 存在,具体 a 在哪定义的,需要编译器编译的时候去找。
函数也是类似,定义的时候同时声明。但如果只是声明,编译器只知道有这么个函数,具体函数怎么定义的要编译器去找。
void fun1(); //函数声明
void fun1(){ //函数定义
cout<<"fun1"<<endl;
}