c++的函数要完成如下工作:提供函数定义;提供函数原型;调用函数。
1 函数原型,函数调用以及按值传递
函数原型描述函数到编译器的接口,即原型将返回值参数类型,参数类型以及数量告诉编译器,效率高,无需在函数文件中查找。函数原型不要求提供变量名,当不指定参数列表时,使用省略号,它能控制参数的类型转换。c++对返回值类型有一定的限制,不能是数组,可以是其他任何类型。
double cube(double x); // 函数原型
int main()
{ ...
double volume = cube(side); // 函数调用
...
}
double cube(double x) // 函数头及函数体
{
...
}
按值传递意味着将数值参数传递给函数,函数将其赋给一个新的变量。如上述代码,cube()使用的是side的副本,而不是原来的数据。用于接受传递值的变量被称为形参(argument),传递给函数的值被称为实参(parameter)。
2 函数与数组
处理数组的c++函数,需要传递数组中的数据种类,数组的起始位置和数组元素的个数。arr实际上并不是一个数组,而是一个指针,编写函数时,可以将arr看作数组,所以1)处的函数头也是正确的,