【例5.1】函数定义举例。
图5-2 函数参数传递
方框表示一个特定的存储单元,箭头表示将存储单元内的值拷贝到另一个存储单元中,如图5-2所示。
在主函数main之前有一个名为cube的函数定义,其功能是求x的n次方,而在主函数内中,用与调用函数C函数一样的方式调用自定义函数cube,并将计算结果送入变量r中。
函数cube定义如下:它有两个参数,x和n,均为整型,cube前面的long表示函数的返回值类型是长整型,因为返回值不确定,为防止出现数据溢出而采用long。由花括号{}括起的部分为函数体,它的结构与主函数main的结构相似,唯一不同的是最后有一个返回语句return,即把p的值作为函数的返回值并返回到main函数,然后继续执行main函数中的后续语句,即执行输出函数printf。
函数定义的一般形式:
<函数名>是一个用户定义的标识符,方括号表示是可选项。即函数可以带参数,也可以不带。这里的参数是函数的形式参数,简称“形参”。函数若有形参,则用<参数说明部分>来说明。(www.daowen.com)
其中,{}表示可以是0次或者多次。可以看出每个类型标识符只能对应一个参数,由此可知不允许将cube函数定义中的参数说明部分写成如下形式:
int x,n;
<函数体>由花括号括起的部分称为函数体,它由<说明部分>和<语句部分>共同组成,函数的功能是由函数体完成的。在函数体中凡是尚未被说明的标识符必须在函数体中的说明部分加以说明。
<返回值>:函数名前面的<类型标识符>表明了从函数返回的值是什么类型,它可以是int,float,char等,函数也可以不返回任何值,这时类型标识符就用关键字void表示,void的含义是空。
【例5.2】不带参数的函数定义,且函数无返回值。
此函数定义无参数,函数名printmsg前标注了void;函数无返回值,没有return语句,因此函数执行完printf语句后自动返回。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。