函数参数
C+通常按值传递参数,这意味着将数值参数传递给函数,而后者将其赋给一个新的变量。例如
double volume = cube(side);
其中,side 是一个变量,在程序运行中,其值为 5。cube()的函数头如下:
double cube(double x)
按值传递
被调用时,该函数将创建一个新的名为 x 的 double 变量,并将其初始化为 5。这样,cube()执行的操作将不会影响 main()中的数据,因为 cube()使用的是 side 的副本,而不是原来的数据。
形参和实参
用于接收传递值的变量被称为形参。传递给函数的值被称为实参。出于简化的目的,C++标准使用参数(argument)来表示实参,使用参量(parameter)来表示形参,因此参数传递将参量给参数:
局部变量
在函数中声明的变量(包括参数)是该函数私有的。在函数被调用时,计算机将为这些变量分配内存在函数结束时,计算机将释放这些变量使用的内存。这样的变量被称为局部变量,因为它们被限制在函数中。
前面提到过,这样做有助于确保数据的完整性。这还意味着,如果在 main()中声明了一个名为side的变量,同时在另一个函数中也声明了一个名为x的变量,则它们将是两个完全不同的、毫无关系的变量,这与加利福尼亚州的 AIbany 与纽约的 Albany 是两个完全不同的地方是一样的道理,因为它们是在程序执行过程中自动被分配和释放的。
参考资料
《C++ PRIME PLUS》