文件名称:实参和形参在函数调用时的变化情况-复高斯分布的数学基础理论
文件大小:6.48MB
文件格式:PDF
更新时间:2024-06-28 07:07:11
嵌入式 Linux C
5.6 函数的参数、值和基本调用 5.6.1 函数的参数 函数的参数分为形参和实参两种。 形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出 现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。 发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数 的数据传送。 函数的形参和实参具有以下特点。 � 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单 元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。 � 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数 调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应先用赋值,输入等办 法使实参获得确定值。 � 实参和形参在数量上、类型上、顺序上应严格一致,否则会发生“类型不匹配”的错误。 � 函数调用中发生的数据传送是单向的,即只能把实参的值传送给形参,而不能把形 参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会 变化,如图 5.12 所示。 实参 形参 0xbffff900 5 5 0xb00ff8600 0xbffff900 2 2 0xb00ff8600 函数调用时 实参 形参 0xbffff900 5 10 0xb00ff8600 0xbffff900 2 9 0xb00ff8600 函数调用后 错误! 图 5.12 实参和形参在函数调用时的变化情况 从图中可以看出,实参和形参所占用的存储单元完全是独立的,在函数调用时,实参把