初学函数


初见函数一词,我们可能会想到数学里面的函数,但是在C语言当中,也有函数。C语言当中的函数和我们在数学里面的函数并不相同。那么,在C语言中,函数的定义是怎样的?在程序当中我们又是如何去调用函数的呢?参数是如何传递的?函数的结果返回,以及函数的原型声明应当放在程序的哪个位置.....带着种种疑问,我们开始了这周的函数学习。

首先,C语言函数定义的一般形式为:
函数类型 函数名 (形式参数表) /*这是函数的首部*/

  函数实现过程 /*函数体*/

例如:在计算圆柱面积这个例题中,函数类型是double,函数名为cylinder,形参1是double类型的r,形参2是double类型的h。

函数的首部是由函数类型、函数名和形式参数表所组成,位于函数定义的第一行。函数类型是指函数结果返回的类型,如果函数不返回数值,则函数类型为void,函数名需要使用一个合法的标识符来表示。形参则是以类似变量定义的形式给出,格式为:类型1  形参1,类型2  形参2, 类型3  形参3,...,类型n  形参n。

函数调用:

在我们定义了一个函数之后,我们便可以在程序中调用这个函数。当我们调用自定义函数时,程序会从主函数跳到自定义函数,暂停主函数的运行,待自定义函数运行完成后将结果返回至主函数,主函数将从暂停的位置继续运行。需要注意的是,在C语言中,调用自定义的函数时,程序中必须有与调用函数相对应的函数定义;调用标准函数时,只需要在程序最前面用#include命令包含相应的头文件。

函数调用的一般形式:

  函数名(实际参数表)

实际参数可以是常量、变量,也可以是表达式。

参数传递:

函数定义的时候,位于函数首部的参数被称为形参,如例题当中的r,h。在主函数中调用函数的参数被称为实参,如例题当中的radius,height。在调用函数的时候,实参radius和height的值将被依次传给形参r和h,所以形参和实参必须相对应且类型应当一致。

函数结果的返回:

一般的函数结果返回形式如下:

  return 表达式;

需要注意的是表达式的类型应当与函数类型保持一致,当两者不一致的时候,应以函数类型为准。特别需要注意的时,return语句只能返回一个值,并不能返回多个值。

函数的原型声明:

在C语言中,要求函数先定义才能够调用。一般的,考虑到函数的执行顺序,我们会将自定义函数放在主函数后面,那么这时我们就需要在主函数前面加上函数原型声明。

函数声明的一般格式为:

  函数类型   函数名(参数表);

需要注意的是,函数原型声明是语句,需要以分号结尾,其余与函数定义的第一行相同。

相关