本文共 1447 字,大约阅读时间需要 4 分钟。
C语言编程0基础学习历程(7)——C的函数
如果让你在没有任何工具和材料的情况下独自造一间屋子,你能做到么?估计大多数人的回答是,不能。常言道,“巧妇难为无米之炊”。没有任何工具和材料,又怎么能够打造出一件优秀的作品呢?
写程序也同样如此,一个好的工程师也大多拥有一套好的工具和材料,程序工程师的工具和材料便是——函数。确实,有点令人惊讶,程序工程师的工具和材料都叫做一个名字,但请你仔细想一想,我们身边的锤子、轮子又是由什么构成的呢?答案是材料,可以说,工具是一个材料经过精心设计加工后的集合体。所以,请原谅我在下文中将工具和材料混为一谈,希望不会增加您的困扰。 C自带了一个包含函数的大型库,但笔者认为,编程最快乐的地方,不是用别人的工具完成任务,而是自己创造工具,在这个过程中,才能最体现我们的才思,体现我们的创造力,把自己的成果展示给他人,将是一件多么有意思的事情。想要创造出一个好的函数,首先要了解函数的基本规则,就像创造工具首先要了解工具的组成结构。创建自己的函数时,首先要处理三个方面:定义,原型和调用。
函数可以分为两类,有返回值的和没有返回值的函数。没有返回值的函数不需要返回值,但需要返回控制权。有返回值的函数一定要返回值和控制权。
无返回值的函数称为void函数,其通用格式如下:
/*void 函数名(参数列表){ 函数说明 return;}*/void funcationName(parameterList){ statements return ;}//例:void cheers(int n){ int i; for(i=0;i
有返回值的函数通用格式如下:
/*返回值类型 函数名(参数列表){ 函数说明 return 返回值;}*/typeName funcationName(parameterList){ statements return value;}//例:int bigger(int a,int b){ if(a>b) return a; else return b;}
C语言规定在定义一个函数以前必须先声明其函数原型,原型描述了函数到编译器的接口,也就是说,它将函数返回值类型以及参数的类型和数量告诉编译器。例如上面两个函数的原型分别为:
void cheers(int n);int bigger(int a,int b);
原型的功能主要有三点:
1. 保证编译器正确处理函数返回值。 2. 保证编译器检查使用的参数数目正确。 3. 保证编译器检查使用的参数类型正确。 (不正确则在可能的情况下转化为正确的类型)在主函数中对函数进行传参即可完成调用。例:
int main(){ cheers(5); int big=bigger(2,3); return 0;}
一般情况下,大家看到这就会一脸迷茫。这是个啥?其实理解起来很简单。函数原型就好比是函数的名称,在使用之前,你需要告诉编译器这个函数叫什么,这样才方便编译器找到他;而定义则是说明这个函数的作用;调用就更有意思了,你只要将你想改造的原料放入函数的投料口,结果自然就会从函数的出料口出来了。需要注意的是,虽然我们可以放入多种原料,但成品只能有一种。
转载地址:http://mcuzi.baihongyu.com/