函数的参数:
首先我们先了解两个概念
主调函数---调用其他的函数的函数
被调用函数---顾名思义,被调用的函数
main函数只能做主调函数
主调函数和被调函数是成对出现的
什么是函数的参数?就是函数名后面的括号内定义的变量,这个就是参数(如图,在被调函数MAX函数括号里的a跟b,主函数调用的MAX函数括号里的x跟y),不过它们分为两类。
#include <stdio.h> int MAX(int a, int b) { return x>y?x:y; } int main() { int x = 1; int y = 2; int z = 0; z = MAX(x,y); printf("%d\n",z); return 0; }
1.形式参数:
形式参数就是我们在定义的函数名后面括号中的变量,如上图的a跟b,简称为“形参”。(形参是在被调函数中)
2.实际参数:
指的是在函数调用一个函数时,函数名后面括号中的变量,如图x和y,简称为“实参”。(实参在主调函数中)
(1)充当实际参数的可以是常量,变量,表达式,函数。
常量MAX(2,3); 变量MAX(x,y); 表达式MAX(2+3,5+6); 函数MAX(2,MAX(2,3));
我们在调用函数的过程中,系统会将实参的值传给被调函数中的形参,这个值在被调函数内部有效,相当于局部变量,出了被调函数自动销毁(由于形参出被调函数自动销毁,这也就说明了只能是实参给形参传值,是单向的)。我们把实参的值传给形参,并让它进行一系列计算,返回一个值即可。(我们发现是实参传给形参的值,所以不难看出实参类型跟实参类型应是一样的)
形参跟实参的变量名可以一样,可以不一样。(人是活的,我们去控制代码,别被代码控制)
对于我们想通过函数来实现值的转换功能,现在先不讲,等学到指针我们再说。