4.3函数参数和函数的值 4.3.1形式参数和实际参数 在定义函数时函数名后面括号中的变量名称为形式 参数(formal parameter,简称形参); 在主调函数中调用一个函数时,函数名后面括号中 的参数称为实际参数(actual parameter,简称实 参)。 017年4月26日12时17分 HOME 第4章函数与预处理 12 BACK NEXT
HOME2017年4月26日12时17分 第4章 函数与预处理 12 在定义函数时函数名后面括号中的变量名称为形式 参数(formal parameter,简称形参); 在主调函数中调用一个函数时,函数名后面括号中 的参数称为实际参数(actual parameter,简称实 参)
例4.2调用函数时的数据传递。 #include <iostream> using namespace std; int main() { int a,b,c; int max(int x,int y); cout<<"please enter two integer numbers:" cin>>a>>b; c=max(a,b); ∥调用max函数,给定实参为a,b。函数值赋给c cout<<"max="<<c<<endl; return 0; int max(intx,inty) ∥定义有参函数max [int z; z=x>y?x:y; return(z); 2017年4月26日12时17分 HOM正 第4章函数与预处理 13 BACK NEXT
HOME2017年4月26日12时17分 第4章 函数与预处理 13 #include <iostream> using namespace std; int main( ) { int a,b,c; int max(int x,int y) ; cout<<"please enter two integer numbers: "; cin>>a>>b; c=max(a,b); //调用max函数,给定实参为a,b。函数值赋给c cout<<"max="<<c<<endl; return 0; } int max(int x,int y) //定义有参函数max {int z; z=x>y?x:y; return(z); }
有关形参与实参的说明 ()在定义函数时指定的形参,在未出现函数调用时, 它们并不占内存中的存储单元,因此称它们是形式 参数或虚拟参数。 只有在发生函数调用时,函数max中的形参才被 分配内存单元,以便接收从实参传来的数据。 在调用结束后,形参所占的内存单元被释放。 (2)实参可以是常量、变量或表达式,如max(3, a+b);但要求a和b有确定的值。 (3)定义函数时,必须在函数首部指定形参类型。 017年4月26日12时17分 HOME 第4章函数与预处理 14 BACK NEX
HOME2017年4月26日12时17分 第4章 函数与预处理 14 (1) 在定义函数时指定的形参,在未出现函数调用时, 它们并不占内存中的存储单元,因此称它们是形式 参数或虚拟参数。 只有在发生函数调用时,函数max中的形参才被 分配内存单元,以便接收从实参传来的数据。 在调用结束后,形参所占的内存单元被释放。 (2) 实参可以是常量、变量或表达式,如max(3, a+b);但要求a和b有确定的值。 (3) 定义函数时,必须在函数首部指定形参类型
(4)实参与形参的类型应相同或赋值兼容。 (⑤)实参变量对形参变量的数据传递是“值传递” 即单向传递,只由实参传给形参。形参的值如果改 变,不会改变主调函数中实参的值。 a 2 3 a 2 b 3 X 2 3 10 15 07年4月26日12时17分 HOME 第4章函数与预处理 15 BACK NEXT
HOME2017年4月26日12时17分 第4章 函数与预处理 15 (4) 实参与形参的类型应相同或赋值兼容。 (5) 实参变量对形参变量的数据传递是“值传递” , 即单向传递,只由实参传给形参。 形参的值如果改 变,不会改变主调函数中实参的值
4.4函数的调用 4.4.1函数调用的一般形式 函数名([实参表列]) 调用无参函数,则“实参表列”可以没有,但括号 不能省略。多个实参用逗号隔开。 实参与形参个数应相等,类型应匹配。 实参与形参按顺序对应,一对一地传递数据。 i=3; fu(,++i);∥实参按从右至左的顺序求值。 0了年4月26日12时17分 第4章函数与预处理 16 BACK NEXT
HOME2017年4月26日12时17分 第4章 函数与预处理 16 函数名([实参表列]) 调用无参函数,则“实参表列”可以没有,但括号 不能省略。多个实参用逗号隔开。 实参与形参个数应相等,类型应匹配。 实参与形参按顺序对应,一对一地传递数据。 i=3; fun(i,++i);//实参按从右至左的顺序求值