函数调用
- 函数定义后,并不能自动执行,必须通过函数调用来实现函数的功能。
- 函数调用,即控制执行某个函数。
- C++中,主函数可以调用其它子函数,而其它函数之间也可以相互调用。
- 在本节中,我们将介绍一下内容:
- 函数调用的格式
- 参数的传递方式
- 为形参指定默认值
- 数组名作函数参数
- 结构体变量作函数参数
函数的调用格式
函数调用的一般格式:
<函数名>(<实际参数表>)//有参调用
或
<函数名>()//无参调用
其中:
- <函数名>为要使用的函数的名字
- <实际参数表>是以逗号分隔的实参列表,必须放在一对圆括号中
- <实参表>与<形参表>中参数的个数、类型和次序应保持一致
- 当调用无参函数时,函数名后的圆括号不能省略
实参的几种形式
- 实参为简单类型变量,对应的实参可以是:常量,变量及表达式。
- 形参为数组,对应的实参为数组(名)。
- 形参为结构类型,对应的实参为结构类型变量。
如:调用已知三边求三角形面积的函数Area。
double Area(double,double,double); //函数声明
cout<<Area(4.0, 5.0, 6.0)<<endl; //常量作实参
cout<<Area(a, b, c)<<endl; //变量作实参
cout<<Area(a+1, b+1, c+2)<<endl; //表达式作实参
函数的调用形式
1. 函数调用作为一个独立的语句(用于无返回值的函数)
调用的形式为:
函数名(实参表);
或
函数名();
如:调用print_char
函数(用户定义的无返回值函数)。print_char(‘*’,6); //连续显示6个‘*’字符
如:调用函数Area,计算一个三角形的面积。
Area(3.0,4.0,5.0); //该函数调用是无实际意义的。
2 函数调用出现在表达式中(适于有返回值的函数调用形式)
如:函数max()求两个数的最大值。函数原型如下:
float max(float x,float y);
该函数有返回值,调用时应出现在表达式中。
判断以下语句完成的功能:
c=max(a, b); //函数调用出现在赋值运算符右边的表达式中
d=max(c, max(a, b)); //函数调用同时出现在实参表达式中
cout << max(a, b) << endl; //输出一个函数值
3. 函数的嵌套调用
函数的嵌套调用是指在调用一个函数的过程中,被调用的
函数又调用了另一个函数
由main函数调用函数f(),函数f()中又对函数g()进行调用,
这就是函数的嵌套调用