[分享] 形式参数和实际参数

tiankai001   2014-10-30 23:23 楼主
形式参数和实际参数
函数的参数分为形参和实参两种。在本小节中,进一步介绍形参、实参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。
函数的形参和实参具有以下特点:
1. 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
2. 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。
3. 实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误,并且形参和实参的类型应该相同或者兼容,如果是不同的类型应该按照不同类型数值的规则进行转换,例如实参是3.5,但是形参是整数,应该按照转换规则将3.5转换成整形3赋值给形参
4. 函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参,实参和形参在内存中分别占用不同的内存单元。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
带默认形参值的函数:
规定:带有默认形参值的形参必须在形参列表的后面:
如 int add(int x, int y=5,int z=6)这个是正确的y和z具有默认的形参值,在形参列表的后面
int add(int x=1,int y,int z=4) 这个是错误的,int y 应该在int x=1的前面,这样就正确了 int add(int y ,int x=1,int z=4)
本帖最后由 tiankai001 于 2014-10-30 23:30 编辑

回复评论 (1)

函数的参数分为形参和实参两种。在本小节中,进一步介绍形参、实参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。
谢谢楼主学习了
点赞  2014-11-2 15:20
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复