十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一般是先声明的好,可以避免交叉引用的时候编译不通过。
站在用户的角度思考问题,与客户深入沟通,找到政和网站设计与政和网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、主机域名、网络空间、企业邮箱。业务覆盖政和地区。
当然,如果是很简单的操作就不用了,可以直接写在前面再加上 inline(内联) 关键字。
如果是有多个源文件的程序中,会被其它源文件引用的函数必须要在头文件声明,否则其它文件无法调用
函数要先声明后才能调用,声明分为两种如下:
先声明后定义:
void b();
void a()
{
b();
}
void b()
{
}
声明和定义在一个地方:
void b()
{
}
void a()
{
b(); //这样才能满足先声明后调用
}
你编译错误的原因应该是这样:
void a()
{
b(); //此时b还没有声明
}
void b()
{
};
函数定义可以写到其它(任意)函数的前或后。
只是,在使用函数前,如果当前位置处于函数定义之后,则不需要声明函数,可以直接使用。如果当前位置处于函数未定义阶段(函数定义在其后面),则要先进行函数声明,才可以使用函数。
声明可以写在函数体内,也可以在函数体外进行声明!
在C语言中,编译一个C语言源文件是从第一行开始扫描到最后的,你调用一个函数,之前必须定义或申明过这个函数。
这样是合法的:
void f(){
}
int main(){
f();
}
这样也是合法的
void f();
int main(){
f();
}
void f(){
}
这样就是非法的
int main(){
f();
}
void f(){
}
所以函数调用不一定需要先声明,当函数定义调用函数之后需才要先申明。
可以!
例如:
#includestdio.h
void priint(); // 先声明
void main() {
print();
}
void print() { // 后定义
printf("Hello world!\n");
}
先声明后定义在C中是允许的
楼主可以这样想,C语言中,无论是常量,变量,函数,只有先定义才能使用的。在函数定义时,大脑要往一般的常量,变量定义的方向,切忌先不要想函数的别的。定义好后,把函数的定义先放一边,不管它。
接着是函数声明,大家都知道,C语言是有一个主函数main()和0或n个普通函数组成的。由于当代码越长,用到的函数就越多,为了减少函数的混淆,所以要有个函数名,就像老师点名一样,声明一个函数,就如点一个学生的名字。
总之,函数定义是系统要求的,不定义就错误,而函数声明实际上不定义也行,但为了方便和减少错误,人为规定要声明。