编译器是按顺序编译的,如果有以下情况:
void a()
{
b();//编译器在这里还未编译b(),所以此时函数b是不存在的。
}
void b()
{}
打个比方
int a=b; //报错
int b=0;
其实是一个道理。
变量只能先定义再使用。
你的函数调整用在定义的前面,这时候你要调用编译器是不识别的,你要在前面提前声明。
比如:
void fun();//提前声明
void main()
{
fun();
}
void fun()
{
printif("hello world!");
}
对本文件中的函数可以不加声明
但这只限于函数调用的情况,函数调用时在函数名后面跟括号和实参,编译时能根据此形式判断它为函数,则无需声明,反之需要
把整个函数写在调用该函数处的上面就不用声明了,否则需要声明
上面几位说的都对!