1.函数定义和调用(以a+b为例)
注意:在定义时要保持类型相同(要求指定的函数类型和return语句的表达式类型一致)
2.对于不带回值的函数,应当定义为void(空)类型,输出结果就在void函数中printf即可
3.上述的调用函数,可以定义为多个模块,避免多个函数体均在一个文件中冗长。
add.c存放调用函数,add.h存放函数定义,test.c存放main函数并引用“add.h”
4.实参和形参的关系:临时拷贝
所以传值的方式,得到的地址是不同的,因此形参只是对实参的临时拷贝,不能修改里面的数值。
与此对应的是:如果想改变实参里的值,就必须要求地址是相同的,那么就需要传数组或指针。
补充,函数声明除上述写法,还可以:
5.数组名作为函数参数,arr==&arr[0]
传数组,本质上是传递数组首元素的地址,既然传的是地址就可以改变数值。
6.函数嵌套调用(套娃)
上图的调用关系如下:
7.简单应用:用数嵌套调用求四个数最大值!
代码运行结果展示: