您的位置:首页 > 编程语言 > C语言/C++

C++入门经典 笔记(第五章)调用函数

2015-07-25 18:48 423 查看
函数是程序的一部分,可对数据执行操作并返回一个值,每个C++程序至少有一个函数:程序运行时自动调用的main()。这个函数可包含调用其他函数的语句,而这些函数中也可能调用其他函数。

在编写函数的代码前,必须声明它。函数声明将函数的名称、函数返回类型和函数输入参数的类型告诉编译器。函数声明也叫原型,不包含任何代码,是单条语句,以分号结尾。参数列表列出了所有参数及其类型,并用逗号将他们分开。如: int findArea(int length, int width);函数可返回任何C++数据类型,如果函数不返回值,就应该将返回类型声明为void。

局部变量:在函数内创建的变量称为局部变量,因为它只存在于函数中,当函数返回后,其所有局部变量都不能供程序使用。局部变量的创建方式与其他变量相同,函数收到的参数也被视为局部变量。

全局变量:在函数(包括函数main())外面定义的C++变量,这样的变量称为全局变量。它在程序的任何地方都可用。注意:在编码的过程中应该多用局部变量,少用全局变量,因为它们会导致错误难以查找。

函数的返回值,在同一个函数中,可包含多条return语句。

默认函数参数,如果函数有多个参数,将根据参数的顺序指定默认值。可给任何参数指定默认值,但有一项需注意:如果某个参数没有默认值,那么它前面的任何参数都不能有默认值。

函数重载,返回参数类型相同,函数名相同,输入参数不同(参数的类型不同或参数数量不同都可),这样的函数称为函数重载。如:int store(int ,int);和int store(long, long);和int store(long);函数重载也被称为函数多态。

内联函数,如果函数包含的语句很少,就可以通过避免跳转来提高效率,在这种情况下,通过避免函数调用,程序的运行速度将更快。在声明C++函数时,如果使用了关键字inline,编译器将不会创建该函数,而将代码直接复制到调用它的地方,就像在调用它的地方直接输入了函数的语句一样。 如:inline int double(int);关键字inline提示编译器,你希望将该函数嵌入在调用它的地方。

注意:

在函数内部对参数进行修改时,不会影响到调用它的函数。因为,在默认情况下,参数是按值传递的,这意味着函数接受的参数实际上是原始值的备份,即使变量名相同也一样。

int findArea(int width,int length =1);

int findArea(int size);这是同一个函数的两个不同重载版本的声明,声明将能通过编译,但是如果使用一个参数调用了findArea(),就将出现编译错误,指出无法确定应该调用findArea(int,int)还是findArea(int)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: