01
对被调用函数的声明和函数原型
1、在一个函数中调用另一个函数需要具备以下条件:
(1)首先被调用的函数必须是已经定义的函数。
(2)如果使用库函数,应该在本文件开头用#include指令将调用有关库函数时所需用到的信息“包含”到本文件夹中来。
(3)如果使用用户自己定义的函数,而该函数的位置在调用它的函数的后面,应该在主调函数中对被调用的函数作声明。
2、函数的声明和函数的定义中的第一行基本上是相同的,只差一个分号。
3、写函数声明时,可以简单地照写已定义的函数的首行,再加一个分号,就成了函数的“声明”。函数的首行称为函数原型。
4、函数声明的一般形式:
(1)函数类型 函数名(参数类型1 参数名1,参数类型2 参数名2,...,参数类型n 参数名n);
(2)函数类型 函数名(参数类型,参数类型2,...,参数类型n);
5、函数的定义是指对函数功能的确立,包括指定函数名、函数值类型、形参及其类型以及函数体等,它是一个完整的、独立的函数单位。
6、函数声明的作用则是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查,它不包括函数体。
02
函数的嵌套和递归调用
1、C语言的函数定义是互相平行、独立的,也就是说,在定义函数时,一个函数内不能再定义另一个函数,也就是不能嵌套定义,但可以嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数。
2、在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。
例子:
int f(int x)
{
int y,z;
z=f(y);
return(2*z);
}
在调用函数f的过程中,又要调用f函数,这是直接调用本函数。