一、形式参数和实际参数
我们可知:在定义函数时函数名后面括号中的变量名称称为“形式参数”(简称“形参”)或“虚拟参数”。在主调函数中调用一个函数时函数后面括号中的参数称为“实际参数”(简称“实参”)。实际参数可以是常量,变量或表达式。
二、实参和形参的数据传递
值传递发生在函数的调用。在调用函数过程中,系统会把实参的值传递给被调用函数的形参。或者说,形参从实参得到一个值。该值在函数调用期间有效,可以参加该函数中的运算。在调用函数过程中发生的事参与形参间的数据传递,常称为“虚实结合”。主函数中包含一个函数调用max(a,b).max后面括号内的a,b是实参。a,b是在main函数中定义的变量,x和y是函数max的形式参数。实参可以是常量,变量或表达式。是参与形参的类型应相同或赋值兼容。
三、函数调用过程中注意的问题
实参向形参的数据传递是“值传递”,单项传递,只能由实参传给形参,而不能有形参传给实参因为实参和形参在内存中占有不同的存储单元,实参是无法得到形参的值。
注意以下几点。
① 用数组名作为函数参数时,必须在调用函数与被调用函数中分别定义数组。
② 形参数组与实参数组在类型上应该一致,否则会出错。
③ 当多维数组名作为函数参数时,除第一维可以不指定长度外,其余各维都必须指
定数组长度
四、数组名作为函数参数的传递方式
数组名作为函数参数在函数调用时,是把实参数组的起始地址传递给形参数组,这样,形参数组和实参数组实际上都占用同样的存储区域,对形参数组中某一数组元素的存取,也就是存取相应实参数组中的对应元素,即形参数组中对某一数组元素的改变,将直接影响到与其对应的实参数组中的元素,这一点是与基本类型变量作为函数参数的情形大不一样的。