首页 百科知识 函数的实参传递到形参有两种方式

函数的实参传递到形参有两种方式

时间:2022-09-22 百科知识 版权反馈
【摘要】:实参是函数在调用刚开始时传递的具体数据,必须是确定的值;形参是用来接收数据的,对应内存中某个存储空间,因此,形参必须是变量。④在定义函数时,必须指定形参类型。然后开始执行被调函数,形参x、y的值随之发生变化,分别为2和4,如图5-4所示。当被调函数执行完毕后,形参x和y所占的临时存储单元均被释放,但主调函数里的实参a 和b的值不变,仍为2和3。

5.2.5 函数的参数

在函数调用的过程中,两个函数之间的数据传递是通过参数和返回值传递的,主调函数利用参数将数据传给被调函数,被调函数的运行结果通过返回值返回到主调函数。在调用函数时,函数名后面括号中的数据称为实际参数(简称实参),在定义函数时函数名后面的括号中的变量称为形式参数(简称形参)。

例如:

img249

说明:

①形参在被调函数中出现,实参在主调函数中出现。

②形参是在函数被调用时临时分配存储单元的,一旦调用结束,形参所占的存储单元立即被释放。

③实参可以是常量、变量或表达式,但必须是确定的值;形参必须是变量。实参是函数在调用刚开始时传递的具体数据,必须是确定的值;形参是用来接收数据的,对应内存中某个存储空间,因此,形参必须是变量。

④在定义函数时,必须指定形参类型。形参实际上就是定义的变量,如果不指定变量的类型,将无法分配内存单元。

⑤实参传递给形参的实际数据必须与函数定义中的形参类型一致。

⑥函数调用语句中的实参个数应与被调用函数的形参个数相等,其类型、顺序必须一一对应。

⑦实参和形参在内存里分别占用不同的存储空间,即使同名也不会相互影响。

⑧ C语言规定:实参对形参的传递是单向值传递,只能由实参传给形参,不能由形参传给实参。

例5.5

程序如下:

img250

程序运行结果如下:

img251

分析:当程序开始执行函数调用语句c=f(a,b);时,系统首先为形参x、y分配临时的存储单元,并通过“数据传递通道”将a的值2传递给形参x,将b的值3传递给形参y,如图5-3所示。数据传递只是瞬间,一旦数据传递完毕,a和b,x和y之间的“数据传递通道”断开。然后开始执行被调函数,形参x、y的值随之发生变化,分别为2和4,如图5-4所示。当被调函数执行完毕后,形参x和y所占的临时存储单元均被释放,但主调函数里的实参a 和b的值不变,仍为2和3。

img252

图5-3

img253

图5-4

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈