扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
比如 a 函数中要调用 b 函数,b 函数又要调用 a 函数(这很常见)。因为 C 语言对函数的顺序是有要求的,写在后面的函数才能调用前面的函数。这样一来,无论是 a 在前面还是 b 在前面都无法实现,所以就可以先单独声明 a 和 b,然后在后面再具体实现 a 和 b。
创新互联-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、南充服务器托管、等保安全、私有云建设等企业级互联网基础服务,欢迎联系:18982081108
举个例子来说明吧
void foo();
int main()
{
foo();
}
void foo()
{
;
}
以上代码中,第一句就是所谓函数声明。
其实直接用函数定义也就是void foo(){;}替代第一句也是可以的,不过函数的声明让你可以在定义它的代码段之前使用它。
比如以上的例子中,在编译进行到main函数中的foo调用的时候,foo函数还是没有定义的,但我们通过foo的声明告诉了编译器:foo是一个函数的名字,这个函数有着怎样怎样的参数表等等。
“函数定义”是指对函数功能的确立,包括指定函数名,函数值类型、形参类型、函数体等,它是一个完整的、独立的函数单位。
而“函数声明”的作用则是把函数的名字、函数类型以及形参类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查(例如函数名是否正确,实参与形参的类型和个数是否一致)。
在书写形式上,函数声明可以把复数头部复制过来,在后面加一个分号;而且在参数表中可以只写各个参数的类型名,而不必写参数名。
C语言不同于Java语言,在Java语言中,在一个类中,定义函数/方法后,在调用时不需要声明。在C语言中定义函数后,在使用前,需要在main函数前进行声明,否则会报错。
或者将函数定义在main函数的前面,则不需要声明
注意:在其他函数中调用自定义的函数时,也是要在调用者前进行声明,或者定义在调用者前,否则会报错无法使用
#includestdio.h
int getMax(int a, int b) {
if (a b) {
return a;
}
else {
return b;
}
}
void main() {
int t=getMax(12, 21);
printf("%d\n", t);
getchar();
}
扩展资料:
关于函数的概念我们可以这样理解,函数是一个功能的集合,它可以根据输入完成特写的功能,并将结果输出。当然有时候函数只是为了实现一些特写功能而并不一定要有输入或输入。
我们想要自己编写一个函数需要编写两部分内容:声明和定义。函数的声明就是告诉编译器我们想要定义一个函数,并明确规定其返回值(输出)、函数名、参数表(输入)。声明函数的语法如下:
type function_name(type var);
什么是声明:有两重含义,如下:
第一重含义:告诉编译器,这个名字已经匹配到一块内存上了(伊人已嫁,吾将何去何
从?何以解忧,唯有稀粥),下面的代码用到变量或对象是在别的地方定义的.声明可以出
现多次.
第二重含义:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量
名或对象名.比如你在图书馆自习室的某个座位上放了一本书,表明这个座位已经有人预
订,别人再也不允许使用这个座位.其实这个时候你本人并没有坐在这个座位上.这种声
明最典型的例子就是函数参数的声明,例如:
void fun(int i, char c);好,这样一解释,我们可以很清楚的判断:a)是定义;b)是声明.
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流