|
C语言由一个或多个函数组成,每个函数都有名字标示,其中main函数是作为程序运行的起点。函数是程序模块的主要成分,它是一段具有独立功能的程序。
|
|
|
|
函数的定义描述了函数做什么和怎么做,因此任何函数(包括主函数main ())都是由函数说明和函数体两部分组成。函数定义的一般格式如下:
|
|
|
|
函数说明包括函数返回值的数据类型、函数名字和函数运行时所需的参数及类型。函数所实现的功能在函数体中详细定义。根据函数是否需要参数,可将函数分为无参函数和有参函数两种,形式参数表列举了函数调用者提供的参数的个数、类型和顺序,是函数实现功能时所必需的。无参函数则以void说明。C语言的函数兼有其他语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。
|
|
|
|
当需要在一个函数(称为主调函数)中使用另一个函数(称为被调函数)实现的功能时,便以函数名字进行调用,称为函数调用。在使用一个函数时,只要知道如何调用就可以了,不需要关心被调函数的内部实现。因此,主调函数需要知道被调函数的名字、返回值和需要向被调函数传递的参数(个数、类型和顺序)等信息。
|
|
|
|
C函数的参数传递全部采用传值,它没有Pascal中的变量形参,所以只能传递实参变量的值,而不能隐含传地址。传值调用实际上重新复制了一个副本给形参,因此,可以把函数形参看作是局部变量。传值的好处是传值调用不会改变调用函数实参变量的内容,因此,可避免不必要的副作用。
|
|
|
在C程序的执行过程中,通过函数调用可以实现函数定义时描述的功能。函数体若调用自身,则称为递归调用。
|
|
|
|
|
|
|