c语言的函数中,形参和实参具体到底是什么概念?有什么区别作用。本人刚开始学c求解答,谢谢
1.所谓实参,就是你向被调函数传递的参数
创新互联建站专注于清镇网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供清镇营销型网站建设,清镇网站制作、清镇网页设计、清镇网站官网定制、微信小程序服务,打造清镇网络公司原创品牌,更为您提供清镇网站排名全网营销落地服务。
2.所谓形参,就是被调函数里面真实起作用的函数
3.形参可以看做是实参在内存或者堆栈空间的一个拷贝,被调函数运行时就引用这个拷贝,函数运行结束就把这个拷贝释放掉了,除此之外他们之间没有直接的联系。
c语言中形参和实参的区别?
函数的形参和实参区别如下: \x0d\x0a1. 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。 \x0d\x0a2. 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。 \x0d\x0a3. 实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。 \x0d\x0a4. 函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。\x0d\x0a实参(argument):\x0d\x0a全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 \x0d\x0a形参(parameter):\x0d\x0a\x0d\x0a全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且实参必须要有确定的值。\x0d\x0a形式参数:形参是函数被调用时用于接收实参值的变量。\x0d\x0a\x0d\x0a根据实际需要可有可无。没有形参时,圆括号也不可省;多个参数之间应用逗号分隔。参数包括参数名和参数类型。
c语言中函数形参与实参的区别与联系
形参与实参在本质上是两个不同的东西。
比如函数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的值。
说起它们的相同之处,就是它们的变量类型是一样的;说起它们的联系,就是有一次实参对形参的赋值;说起它们的区别,则是两个不同的变量。
啰嗦很多,不知是否说清,若有不明之处,请留言。
本文名称:c语言函数和实参的区别 c语言什么是实参
分享URL:http://scgulin.cn/article/ddepjos.html