第5章函数
要编好程序,就要会合理地划分程序中的各个程序块,C++称之为函数。函数有各种表现形态,但都离不开函数调用的实质。所以要用好函数,必须
先把握函数调用机制。学习本章后,要求领会函数调用的内部实现机制,区分函数声明与定
义,掌握全局变量、静态局部变量和局部变量之间的区别,理解并运用递归、内联、重载和
默认参数的函数。 5.1函数概述
程序通常是非常复杂而冗长的。实际编程中,有些程序需要几万甚至几百万行的代码。在编
写一个很长的程序时,可以采用一种好的策略,就是把这个大的��序分割成一些相对独立而
且便于管理和阅读的小块程序。这样,无论对程序员还是其他阅读者都很方便。 把相关的语句组织在一起,并给它们注明相应的名称,利用这种方法把程序分块,这种形式
的组合就称为函数。函数通常也称为例程或过程。 函数的使用是通过函数调用实现的。函数调用指定了被调用函数的名字和调用函数所需的信
息(参数),这和请一个上门服务的修理工形式类似。主人(相当于调用函数)要求修理工
人(相当于被调用函数)按照要求(函数参数)完成某个任务,并在完成这项工作后由主人
验收(函数返回)。如果不符合要求,则修理工人就面临拿不到工钱的局面。 程序员编写完成指定任务的函数是用户定义的函数,标准库函数是C++提供的可以在任何程序中使用的公共函数。程序总是从main()函数开始启动。
可以通过结合已有函数的方法建立新的函数。由多个小函数建立大函数,这能使程序易写、
易读和易调试。 图51反映了main()函数用层次式管理方式与被调用函数的关系。一个函数可以被函数调用
也可以调用函数。
图51调用与被调用函数的层次关系
C++不允许函数定义嵌套,即在
函数定义中再定义一个函数是非法的。 例如,下面的代码在主函数中非法嵌套了一个func()函数定义: