1.定义函数
C语言要求,在程序中用到的所有函数必须要“先定义,后使用”。
定义函数应包括以下几个内容:
(1)指定函数的名字,以便以后按名调用。
(2)指定函数类型,即函数返回值的类型。
(3)指定函数的参数的名字和类型,以便在调用函数时向它们传递数据。无参函数不需要。
(4)指定函数应当完成什么操作,即函数的功能。这是最重要的,是在函数体中解决的。
对于C编译系统提供的库函数,是由编译系统事先定义好的,库文件中包括了对各函数的定义。程序设计者不必自己定义,只须用#include指令把有关的头文件包含到本文件模块中即可。如用到数学函数(sqrt,fabs,sin,cos等),就必须在文件模块开头写上#include。库函数只是提供了最基本,最通用的一些函数。
2.定义函数的方法
1.定义无参函数
定义无参函数的一般形式:
类型名 函数名()
{
函数体
}
或
类型名 函数名(void)
{
函数体
}
void表示“空”,即函数没有参数。
函数体包括:声明部分和语句部分
在定义函数时要用“类型标识符”(即类型名)指定函数值的类型,即指定函数带回来的值的类型。函数为void类型,表示没有函数值。
2.定义有参函数
以下定义的Max函数是有参函数
int Max(int x,int y){int z;z=x>y?x:y;return z;}
①第一行第一个关键字int表示函数值是整型的。
②Max为函数名。
③x,y是形式参数,它们都是整型的。
④在调用此函数时,主调函数把实际参数的值传递给被调用函数中的形式参数x和y。
⑤花括号中是函数体,函数体包括声明部分和语法部分。声明部分包括对函数中用到的变量进行定义以及对要调用的函数进行声明等内容。
⑥return z的作用:将z的值最为函数值(函数返回值)带回到主调函数。在函数定义时已指定Max函数为整型,即指定函数的值是整型的,在函数体中定义z为整型,并将z的值作为函数值返回。此时Max函数的值等于z。
定义有参函数的一般形式:
类型名 函数名(形式参数表列)
{
函数体
}
函数体包括:声明部分和语句部分
3.定义空函数
它的形式:
类型名 函数名()
{ }
例如:
void dummy(){ }
函数体是空的。调用此函数时,什么工作也不做,没有任何实际作用。
在主调函数中如果有调用空函数的语句,而这个函数没有起作用。但是在程序设计中往往根据需要确定若干个模块,分别由一些函数来实现。而在第一阶段只设计最基本的模块,其他一些次要功能则在以后需要时陆续补上。在编写程序的开始阶段,可以在将来准备扩充功能的地方写上一个空函数,先用空函数占一个位置,等以后扩充程序功能时用一个编好的函数代替它。