📅  最后修改于: 2023-12-03 15:14:06.947000             🧑  作者: Mango
在 C 和 C++ 编程中,函数参数(parameter)和实际传递给函数的值(argument)被经常使用。本文将讨论这两者之间的区别,并给出一个示例。
在函数定义中,参数是一个占位符,用于标识函数将接受的参数类型。当函数被调用时,将实际的值传递给参数。这个传递的值被称为参数的实际参数(actual parameter)或者 argument。这两个参数可能有不同的数据类型,但是它们是同一个值的两个不同名称。
下面是一个函数定义,其中的 a
和 b
都是参数(parameter)。
int add(int a, int b)
{
return a + b;
}
函数头 int add(int a, int b)
中的参数列表告诉编译器函数将接受两个 int 类型的参数,这两个参数都将被称为参数(parameter)。
下面是一个函数调用的示例,其中的 2
和 3
都是实参(argument)。
int result = add(2, 3);
在上面的函数调用中,2
和 3
是实际参数(actual parameter)或者 argument。它们将传递给调用的 add()
函数,用于计算结果并返回值。
下面是一个实例,它演示了如何在 C++ 中将参数和实参组合在一起使用。本例将演示一个函数 swap()
,它将交换两个变量的值。
#include <iostream>
using namespace std;
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int x = 4, y = 7;
cout << "Before swap, x = " << x << " and y = " << y << endl;
swap(x, y);
cout << "After swap, x = " << x << " and y = " << y << endl;
return 0;
}
代码分析:
swap()
定义了两个参数(parameter),即 a
和 b
。这些参数被传递给了函数中的 int temp = a
、a = b
和 b = temp
。main()
函数中,定义了两个变量 x
和 y
作为实际参数(actual parameter)或者 argument。cout
语句输出了 x
和 y
的值,即在调用函数 swap()
之前的值。swap()
,将 x
和 y
的值作为参数传递给了函数。函数将交换这些值,并返回原始的值给 main()
函数。cout
语句输出了函数返回后 x
和 y
的值,即被交换了的值。输出结果:
Before swap, x = 4 and y = 7
After swap, x = 7 and y = 4
上面的示例演示了函数参数(parameter)和实参(argument)的使用。理解这两个参数的区别将有助于编写更高效、更清晰且更可维护的代码。