background image

 

第五章 函数
    本章我们将深入讨论函数。函数是 C++程序的基本构成单元,深刻的理解函数是我们成
为一个成功的 C++程序员的基础。本章中,我们就要学习到如何创建函数。除此之外,我
们还将学习函数的参数传递,函数的返回值,局部和全局变量,函数的原型以及递归。
函数的基础知识
    一个函数就是含有一条或者多条 C++语句,用来完成一项特定任务的子程序。到目前为
止,我们所编写的所有程序都至少用到了一个函数:main()。函数之所以被称为是 C++程序
的基本构成单元是因为 C++程序都是一系列函数的集合。程序中的所有动作都是可以在函
数中找到的。因此,一个函数就包含了我们通常认为的程序的可执行部分。尽管本书中所
使用到的例子都是非常简单的,只有一个函数那就是 main(),大多数的程序都含有多个
函数。实际上,大型的商用程序通常会含有成千的函数。
必备技能 5.1:函数的通用形式
    所有的 C++函数都有如下的通用形式:

 

返回值类型 函数名称(参数列表){函数体};
其中,返回值类型表明了这个函数返回的数据的类型。它可以是任何有效的类型,但不能
是数组。如果函数没有返回值,它的返回类型必须是 void 类型。函数名称指明了这个函数
的名字。它可以是任何程序中目前还没有使用到的有效的标识符。参数列表是一系列由分
号间隔开的类型和标识符对。参数实际上是在调用函数的时候用来接收传入到函数中的值
的变量。如果一个函数不需要参数,那么参数列表就为空。
函数体由一对花括号括起来。函数体是由一组定义了函数功能的 C++语句构成。函数在遇
到函数体右括号的时候终止并返回到调用的地方。

必备技能 5.2:创建一个函数
    创建函数是一个非常简单的过程。既然所有的函数都有着相同的形式,那么
它们在结构上应该都和我们一直使用的 main()函数是类似的。下面让我们从
一个简单的示例程序开始。这个程序中还有两个函数:main()和 myfunc()。在
运行下面的程序之前,请仔细研究下面的程序,看看自己能否想出下面的程
序会在屏幕上输出什么结果。
#include <iostream>
using namespace std;

void myfunc(); //声明函数的原型

int main()
{
    cout << " In main() \n" ;

    myfunc(); //调用函数 myfunc()

    cout << " Back in main()\n";

    return 0;
}