扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
函数声明是让代码调用点知道按照什么格式来调用函数。(函数参数列表是什么,返回值是什么。)否则调用点无法确知调用函数的格式。(注:在C里也可以无函数声明就调用,那样会在程序链接的时候做调用匹配检查。
成都创新互联-专业网站定制、快速模板网站建设、高性价比金堂县网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式金堂县网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖金堂县地区。费用合理售后完善,10年实体公司更值得信赖。
如果没有具体实现的函数体代码(也就是大括号内容),那么就是函数声明。比如void fun(int ,int *);关于函数声明和调用:如果fun函数定义在main代码上面。比如:void fun(int a,int *b){。。
{ foo();} void foo(){ ;} 以上代码中,第一句就是所谓函数声明。其实直接用函数定义也就是void foo(){;}替代第一句也是可以的,不过函数的声明让你可以在定义它的代码段之前使用它。
声明与定义的区别:函数的声明与函数的定义形式上十分相似,但是二者有着本质上的不同。声明是不开辟内存的,仅仅告诉编译器,要声明的部分存在,要预留一点空间。定义则需要开辟内存。
接着是函数声明,大家都知道,C语言是有一个主函数main()和0或n个普通函数组成的。由于当代码越长,用到的函数就越多,为了减少函数的混淆,所以要有个函数名,就像老师点名一样,声明一个函数,就如点一个学生的名字。
不同文件中:fun.h:void fun(); //函数声明 fun.c:extern int a; //声明,不再分配内存,extern关键字表示此变量已在其它地方定义。
由于C语言的编译,是对c/cpp文件的内容从上至下编译。一般子函数(用户定义的函数)放在主函数(main函数)后面的话,main函数前面就该有声明,不然编译系统将无法识别到子函数。
简单地说,声明就是告知编译器,后续代码中会有这样东西,而定义是告知编译器真的申请一块内存来存储这样东西。对于变量来说,声明和定义几乎是相同的,尤其是在同一个文件中声明或者定义变量。
1、因为 C 语言对函数的顺序是有要求的,写在后面的函数才能调用前面的函数。这样一来,无论是 a 在前面还是 b 在前面都无法实现,所以就可以先单独声明 a 和 b,然后在后面再具体实现 a 和 b。
2、C语言不同于Java语言,在Java语言中,在一个类中,定义函数/方法后,在调用时不需要声明。在C语言中定义函数后,在使用前,需要在main函数前进行声明,否则会报错。
3、你可以认为C语言的编译器,就是把你写的C语言代码翻译成计算机能懂的语言的翻译者。翻译者在读你的代码的时候,是从第一行开始向下读的。你写的函数声明,就是告诉翻译者,你定义了一个函数。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流