C++函数基础

函数是一个命名了的代码块,通过调用函数可以执行相应的代码。

一个函数的定义包括返回类型、函数名、形参列表和函数体四个部分。其中,形参以逗号隔开并位于圆括号之内。函数体中存放的是函数执行的操作。

例如一个简单的求两个整数中的最大值:

int max(int x,int y) 
{
     int z;
     
     z = (x > y) ? x : y;
     
     return z;
} 

这个函数的名字是 max;有两个整型参数 x 和 y;返回类型是整型,表示函数会返回一个整型值;花括号里面的代码即为函数体,是实现求两个整数最大数的操作。


函数还需要注意一下几点:

1. 调用函数

要调用上面的 max 函数,必须提供两个整数值,调用得到的结果也是一个整数:

int main()
{
    int m = max(3, 6);
    cout << "The max is " << m << endl;
    return 0;
}
调用函数的过程完成了两个工作:

(1)用实参初始化函数对应的形参。

(2)将控制权转移给被调函数(上面的 max 函数),此时主调函数(上面的 main 函数)的执行被中断,被调函数开始执行,直到遇到一条 return 语句时被调函数结束执行过程,返回 return 语句中的值(如果有的话)同时将控制权从被调函数转移回主调函数。

上面 main 函数中 max 函数的调用等价于如下形式:

int x = 3;
int y = 6;
int z;
z = (x > y)? x : y;
int m = z;


2. 形参和实参

实参是形参的初始值,实参的类型必须与对应的形参类型匹配,并且函数的调用规定实参数量应与形参数量一致。上面的 max 函数只有两个个 int 类型的形参,所以每次调用它时都必须提供两个能转换成 int 的实参。看下面的几个函数调用:

max("hello");// 错误:实参类型不正确

max(1);// 错误:实参数量不足

max(1, 2, 3);// 错误:实参数量过多

max(3.14, 6);// 正确:double 型参数能转换成 int 类型,等价于执行 max(3, 6)


在编写函数时,函数的形参列表可以为空,但不能省略,即圆括号必须要写上。


3. 函数返回类型

大多数类型都能作为函数的返回类型,一种特殊的返回类型是 void,表示函数不返回任何值。函数的返回类型不能是数组类型或函数类型,但可以是指向数组或函数的指针类型。



你可能感兴趣的:(C/C++)