在C语言中,程序中用到的所有函数,必须“先定义,后使用”
我们使用函数时,必须实现按规范对它进行定义,
指定它的名字、函数返回值类型、函数实现的功能以及参数的个数与类型。
将这些信息通知编译系统。
这样,在程序执行函数的时候,
编译系统就会按照定义时所指定的功能执行。
定义函数应包括一下几个内容:
1.指定函数的名字,以便以后按名调用
2.指定函数的类型,即函数返回值的类型。
3.指定函数的参数的名字和类型,以便在调用函数时向他们传递数据。对无参函数不需要这样。
4.指定函数应当完成什么操作,也就是函数是做什么的,即函数的功能。
对于C编译系统提供的库函数,是由编译系统事先定义好的,库文件中包括了对各函数的定义。
我们不需要再2自行定义,只需要用#include 指令把相关的头文件包含到本文件模块就行。
定义函数的方法
1.定义无参函数
这个函数的一般形式为:
类型名 函数名()
{
函数体
}
或
类型名 函数名(void)
{
函数体
}
函数名后面括号内的void表示空,即函数没有参数。
2.定义有参函数
我们来看一个max函数:
int max(int x,int y)
{
int z;
z = x>y ? x : y;
return(z);
}
这个就是一个有参函数,求的是x和y中的最大值。
我们在调用这个函数时,主调函数将x和y值传递给此被调用函数,x和y是形式参数。
后面的return(z)的作用是将z的值作为函数值(函数返回值)带回到主调函数。此时max的值就是z。
要注意函数的类型要一致。
定义有参函数的一般形式为:
类型名 函数名 (形式参数表列)
{
函数体
}
定义空函数
形式:
类型名 函数名()
{}
如:
void amm()
{}
这个函数体是空的,调用此函数时,什么都不用做,此函数没有意义。
我们将整段程序看成一本书,这个空函数就相当于在书中某些部分加了张纸,
在我们需要的时候向里面添加内容,
这样就相当于是一个扩展,我们现在可能没用,但以后用的时候会方便一点。
纸上写了字就不再是一张白纸,空函数也会被替换。
本篇内容到此结束。