理论教育 形参和实参的概念与用法

形参和实参的概念与用法

时间:2023-11-21 理论教育 版权反馈
【摘要】:形参和实参的功能是进行数据传递。函数的形参和实参具有以下特点。因此,函数调用结束返回主调函数后则不能再使用该形参变量。图7-4实参和形参的传值方式函数调用中的数据传递是单向的,即只能把实参的值传递给形参,而不能把形参的值反向地传递给实参。因此,在函数调用过程中,形参的值发生改变,而实参中的值不会变化。同时,实参和形参在数量上、类型上和顺序上应严格一致,否则将会发生“类型不匹配”的错误。

形参和实参的概念与用法

形参出现在函数定义中,则只能在该函数体内使用。实参在主调函数中定义,也只能在主调函数中使用,进入被调函数后,实参变量就不能使用。形参和实参的功能是进行数据传递。发生函数调用时,主调函数把实参的值传递给被调函数的形参,从而实现主调函数向被调函数的数据传递。

例7.2 用函数实现1~n累加的和。

解题思路:

定义函数sum( ),计算1~n累加的和。在主函数中输入实参n的值,调用子函数sum( )得到1~n累加的和之后,再输出其值。

编写程序:

创建一个名为“eg7_2.c”的新文件,在编辑窗口中输入下面的程序代码。

运行结果:(www.daowen.com)

程序说明:

本程序中定义了一个函数sum( ),该函数的功能是求1~n累加的和。在主函数中输入实参n的值,在调用sum ()函数时传递给形参n。在主函数中调用printf()函数输出n的值,此为实参n的值。在sum ()函数中也调用printf()函数输出n的值,这个n的值是最后计算出的累加的和。程序执行时输入实参n的值为100。把此值传给sum ()函数的形参n,其初值就为100,在执行sum()函数的过程中,形参n的值变为5050。返回主函数之后,输出实参n的值仍为100。可见实参的值不随形参的值的变化而变化,它们是不同的变量,作用范围也不相同。函数的形参和实参具有以下特点。

(1)形参只在函数内部有效,在函数被调用时系统才给它分配内存单元。在函数调用结束后,系统即刻释放所分配的内存单元。因此,函数调用结束返回主调函数后则不能再使用该形参变量。

(2)实参可以是常量、变量、表达式、函数等,无论实参是何种类型的数据,在进行函数调用时,它们都必须具有确定的值,以便把这些值传递给形参。

图7-4 实参和形参的传值方式

(3)函数调用中的数据传递是单向的,即只能把实参的值传递给形参,而不能把形参的值反向地传递给实参。因此,在函数调用过程中,形参的值发生改变,而实参中的值不会变化。同时,实参和形参在数量上、类型上和顺序上应严格一致,否则将会发生“类型不匹配”的错误。实参与形参的传值方式如图7-4所示。

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

我要反馈