c语言中函数形参与实参的区别与联系

我请教一下,c语言中函数形参与实参的区别与联系
最新回答
〆゛凹凸曼|▍

2024-12-01 00:48:44

形参与实参在本质上是两个不同的东西。
比如函数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的值。
说起它们的相同之处,就是它们的变量类型是一样的;说起它们的联系,就是有一次实参对形参的赋值;说起它们的区别,则是两个不同的变量。
啰嗦很多,不知是否说清,若有不明之处,请留言。