函数的基本知识
- 创建函数时,必须完成如下工作:提供函数定义;提供函数原型;调用函数。
- C++对于函数返回值的类型有一定的限制:不能是数组,但可以是其他任何类型——整数、浮点数、指针,甚至可以是结构和对象。
- 函数原型不要求提供变量名,有类型列表就足够了。通常,在原型的参数列表中,可以包括变量名,也可以不包括。原型中的变量名相当于占位符,因此不必与函数定义中的变量名相同。
- 函数原型的功能:
- 编译器正确处理函数返回值;
- 编译器检查使用的参数数目是否正确;
- 编译器检查使用的参数类型是否正确,如果不正确,则转换为正确的类型(如果可能的话)。在编译阶段进行的原型化被称为静态类型检查(static type checking)。
函数参数和按值传递
- 用于接收传递值的变量被称为形参;传递给函数的值被称为实参。
- 如果函数的两个参数的类型相同,则必须分别指定每个参数的类型,而不能像声明常规变量那样,将声明组合在一起;原型中的变量名不必与定义中的变量名相同,而且可以省略;提供变量名将使原型更容易理解,尤其是两个参数的类型相同时。
- 对于
(10 * 9) / (2 * 1)
和(10 / 2) * (9 / 1)
,前者将计算90 / 2
,得到45ÿ