📜  CC++ 中 Argument 和 Parameter 的区别和例子(1)

📅  最后修改于: 2023-12-03 15:14:06.947000             🧑  作者: Mango

C/C++ 中 Argument 和 Parameter 的区别和例子

在 C 和 C++ 编程中,函数参数(parameter)和实际传递给函数的值(argument)被经常使用。本文将讨论这两者之间的区别,并给出一个示例。

Parameter 和 Argument 的定义

在函数定义中,参数是一个占位符,用于标识函数将接受的参数类型。当函数被调用时,将实际的值传递给参数。这个传递的值被称为参数的实际参数(actual parameter)或者 argument。这两个参数可能有不同的数据类型,但是它们是同一个值的两个不同名称。

Parameter

下面是一个函数定义,其中的 ab 都是参数(parameter)。

int add(int a, int b)
{
    return a + b;
}

函数头 int add(int a, int b) 中的参数列表告诉编译器函数将接受两个 int 类型的参数,这两个参数都将被称为参数(parameter)。

Argument

下面是一个函数调用的示例,其中的 23 都是实参(argument)。

int result = add(2, 3);

在上面的函数调用中,23 是实际参数(actual parameter)或者 argument。它们将传递给调用的 add() 函数,用于计算结果并返回值。

Parameter 和 Argument 的例子:

下面是一个实例,它演示了如何在 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),即 ab。这些参数被传递给了函数中的 int temp = aa = bb = temp
  • main() 函数中,定义了两个变量 xy 作为实际参数(actual parameter)或者 argument。
  • cout 语句输出了 xy 的值,即在调用函数 swap() 之前的值。
  • 然后调用函数 swap(),将 xy 的值作为参数传递给了函数。函数将交换这些值,并返回原始的值给 main() 函数。
  • 最后,cout 语句输出了函数返回后 xy 的值,即被交换了的值。

输出结果:

Before swap, x = 4 and y = 7
After swap, x = 7 and y = 4

上面的示例演示了函数参数(parameter)和实参(argument)的使用。理解这两个参数的区别将有助于编写更高效、更清晰且更可维护的代码。