第二节 函数的调用
-
调用基本概念
-
函数的实参与形参
-
函数的嵌套与递归
7.2.1调用基本概念
1.说明:函数的调用即是在指定位置,让函数执行相应任务。
2.方式:对于有返回值的函数,可在调用时对函数进行运算操作,对于没有返回值的则不可以;对于有参函数,可在调用时在参数列表填写相应实参,对于没有参数的函数则不用加。
3.注意:
①对库函数的操作,要了解函数的类型与形参,并记得在预处理命令中包含进相关的库。
②函数的参数可以有多个,但函数的返回值最多只有一个。
7.2.2函数的实参与形参
1.说明:函数利用实参与形参,使调用时的原始数据可以在函数中继续使用。
2.实参要求: ①实参要与形参依次对应,类型必须相同,可以不必一致。
②形参与实参的数量要相等,并用","隔开,而实参前不用写类型。
③对于无参函数,函数名后的括号是不能少的。
3.形参要求:
①形参要加类型,并用“,”隔开。
②在函数中,将使用形参进行操作,注意命名。
4.注意:
①在调用函数时,虽然形参与实参均表示原始数据,但对于机器来说,形参是一个另外开辟空间的相同值,即对形参的操作是相同值,但不是同一空间。
②对于简单的变量传送,由于函数是另开空间操作的,所以调用前后其值不发生改变。但对于数组名、地址等操作因为传送的是地址,所以调用前后可以改变其内容。
③C语言中函数传参是前后固定的,但系统中stdarg.h库函数可以将参数数变为任意值。
7.2.3函数的嵌套与递归调用
1.嵌套说明:嵌套即是多个函数合理的相互调用。
2.嵌套注意点:
①只允许嵌套调用,不允许嵌套定义,即函数的定义仅在函数外发生,函数的声明可以在函数外和主函数中发生。
②除主函数以外的其他函数均是平级的,所以可以相互调用或被主函数调用,而主函数不可以被调用。
3.递归说明:递归是嵌套的一种特殊情况,即除主函数外的函数自己调用自己。
4.递归注意点:
①递归的规范与嵌套相同,在编写时注意合理的结束递归,避免死循环。
②在递归时,参数的变化可能是多变的,编写时需注意逻辑关系。
③同样编写循环,递归的资源是比普通循环高的,所以谨慎使用。