C源程序是由函数组成的。最简单的程序有一个主函数main(),但实用程序往往由多个函数组成,由主函数调用其他函数,其他函数也可以互相调用。函数是C源程序的基本模块,程序的许多功能是通过对函数模块的调用来实现的,学会编写和调用函数可以提高编程效率。
函数的定义通常包含以下内容:
返回值类型 函数名(形参表说明) /*函数首部*/
{
说明语句 /*函数体*/
执行语句
}
对上面的定义形式进行以下说明:
(1)“返回值类型”是指函数返回值的类型。函数返回值不能是数组,也不能是函数,除此之外任何合法的数据类型都可以是函数的类型,如:int,long,float,char等。函数类型可以省略,当不指明函数类型时,系统默认的是整型。
(2)函数名是用户自定义的标识符,在C语言函数定义中不可省略,须符合C语言对标识符的规范,用于标识函数,并用该标识符调用函数。另外函数名本身也有值,它代表了该函数的入口地址,使用指针调用函数时,将用到此功能。
(3)形参又称为“形式参数”。形参表是用逗号分隔的一组变量说明,包括形参的类型和形参的标识符,其作用是指出每一个形参的类型和形参的名称,当调用函数时,接收来自主调函数的数据,确定各参数的值。
(4)用{ }括起来的部分是函数的主体,称为函数体。函数体是一段程序,确定该函数应完成的规定的运算,应执行的规定的动作,集中体现了函数的功能。函数内部应有自己的说明语句和执行语句,但函数内定义的变量不可以与形参同名。花括号{ }是不可以省略的。
根据函数定义的一般形式,可以定义一个最简单的函数:
int add()
{
returrn 0;
}
这是C语言中一个合法的函数,函数名为add。它的函数返回值为int,没有形参表,同时函数体内只有一条因为返回值为int而必须有的返回值语句。实际上函数add不执行任何操作和运算,它是一个空函数,在一般情况下是没有用途的,但在程序开发的过程中有时是需要的,常用来代替尚未开发完毕的函数。