形参
成都创新互联公司专业为企业提供吴江网站建设、吴江做网站、吴江网站设计、吴江网站制作等企业网站建设、网页设计与制作、吴江企业网站模板建站服务,10多年吴江做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
form
parameter
实参
real
parameter
出现在函数定义中的参数,就叫形参
出现在函数调用中的参数,就叫实参
函数定义:
int
max(
int
a
,
int
b
)
//这里的a,b就是形参
{
//在函数中,形参就可以当作是一个局部变量。
if
(
ab
)
return
a;
else
return
b;
}
函数调用
int
main()
{
int
a=3,b=5
;
printf(
"max=%d\n"
,
max(a,b)
);
//这里的a,b就是实参
c中的函数参数传递是传递变量的数值,因此,这里相当于调用
max(3,5)
而子函数中收到的就会是
3
5这两值,而与ab变量没有关系。
return
0;
}
形参是实参的模板,你可以理解形参是占位符.
而实参通过复制自己的值传给函数的形参.
形参有了实参的值就可以参与函数运算了,因为实参只是赋值传递,所以函数里的对形参的操作不会影响到实参变量的值:-)
形参与实参在本质上是两个不同的东西。
比如函数f(x)=y=x²+2x,x就是函数的参数,我们用c语言把它写出来就是:
float
f(float
x)
{
float
y;
y=x*x+2*x;
return
y;
}
你看看与f(x)=y=x²+2x何其相似!
当我们要计算f(2)的函数值时,就让x=2,得到y=8,即f(2)=8。
在c语言这里,我们就把x叫“形参”,把2叫“实参”,可以看出它们是多么不同了吧!
如果有一个变量a=1,也可以计算f(a)=2,其实在计算时,把a的值赋给了x。a是实参,x仍然是形参。计算前后a的值并没有变化。
如程序中调用:c=f(a)+f(2),结果得到c=10。
值得注意的是,往往实参与形参使用同一个字母,比如都用x,但是这两个x是不同的变量,实参x把值赋给形参x后,就没有实参的什么事了,在函数中形参x值的变化也不会影响实参x的值。
说起它们的相同之处,就是它们的变量类型是一样的;说起它们的联系,就是有一次实参对形参的赋值;说起它们的区别,则是两个不同的变量。
啰嗦很多,不知是否说清,若有不明之处,请留言。