C++ 实际参数和形式参数

2024 年 8 月 28 日 | 3 分钟阅读

在编程世界中,参数是将数据从一个组件传递到另一个组件的方法中不可或缺的一部分。C++ 通过使用实参和形参提供了函数之间数据传递的机制。在本文中,我们将探讨 C++ 中实参和形参的概念,包括它们的语法和用法,以及 C++ 中的主函数及其在执行程序中的重要性。实参是调用函数时传递给函数的值。它们表示传递给函数的实际数据。例如,请看以下代码:

C++ 代码片段

在上面的代码中,函数 add 接受两个参数 a 和 b,它们被称为形参。值 x 和 y 是在调用函数时传递给函数的实参。当函数执行时,a 被赋值为 x 的值,b 被赋值为 y 的值。

另一方面,形参是在函数定义中声明的变量,用于保存传递给函数的实参。在上面的示例中,a 和 b 是在 add 函数定义中声明的形参。当函数被调用时,实参的值被赋给形参。

需要注意的是,实参和形参是两个不同的实体,对形参所做的更改不会影响实参。这是因为 C++ 使用按值传递语义,这意味着实参的值被复制到形参中。这意味着在函数内部对形参所做的任何更改都不会影响实参。C++ 中有几种不同的方法可以将参数传递给函数,包括按值传递、按引用传递和按指针传递。按值传递是 C++ 中传递参数的默认方法,它涉及将实参的值复制到形参中。在上面的示例中,a 和 b 是按值传递给函数 add 的。它们可能写在同一个文件中,但本质上是不同的。

按引用传递是 C++ 中传递参数的另一种方法,它涉及将实参的内存地址传递给函数。在这种情况下,形参被声明为实参的引用,这意味着它们引用与实参相同的内存位置。这允许函数修改实参的值。例如:

C++ 代码片段

C++ 实参和形参代码

输出

The result is: 35

说明

在此示例中,函数 multiply 接受两个形参 x 和 y,它们被声明为整数。在主函数中,声明并初始化了两个变量 a 和 b,分别赋值为 5 和 7。这些变量是调用函数 multiply 时传递给函数的实参。

当函数执行时,实参 a 和 b 的值分别赋给形参 x 和 y。然后函数执行 x 和 y 的乘法并返回结果。

然后主函数打印函数调用的结果,即 35。这演示了如何在 C++ 中使用实参和形参在函数之间传递数据。