参数和参数有什么区别?

时间:2020-03-06 14:58:02  来源:igfitidea点击:

当口头谈论方法时,我永远不确定是否使用单词arguments或者parameter或者其他名称。无论哪种方式,其他人都知道我的意思,但是什么是正确的,以及这些术语的历史呢?

我是一名程序员,但我也想知道人们是否在不同的语言中使用了不同的术语。

作为记录,我是自学成才的,没有计算机科学背景。 (请不要告诉我阅读《代码完成》,因为我是为了其他尚未拥有史蒂夫·麦康奈尔出色著作的人而谋求这本书的利益。)

概括

普遍的共识似乎是,在团队环境中可以互换使用这些术语是可以的。除非我们正在定义精确的术语;否则,那么我们也可以使用"形式参数/参数"和"实际参数/参数"来消除歧义。

解决方案

参数在函数的声明中是变量。

参数是传递给函数的该变量的实际值。

参数是调用函数时必须填写的内容。你输入的是论点。

设置简单:参数进入参数,参数是参数的值。

有关更多信息:
http://zh.wikipedia.org/wiki/Parameter_(computer_science)#Parameters_and_arguments

参数是方法定义中的变量。调用方法时,参数是我们传递给方法参数的数据。

public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);

函数/方法的参数向我们描述了用于计算其结果的值。

a的参数是在函数/方法的特定调用期间分配给这些参数的值。

关于主题的维基百科条目(请参阅参数)已经定义并区分了术语参数和自变量。简而言之,参数是函数/过程/方法签名的一部分,参数是在运行时和/或者调用位置为该参数提供的实际值。

Wikipedia文章还指出,这两个术语经常被同义使用(尤其是在非正式地对代码进行推理时):

Although parameters are also commonly
  referred to as arguments, arguments
  are more properly thought of as the
  actual values or references assigned
  to the parameter variables when the
  subroutine is called at runtime.

给定以下C语言示例函数,该函数将两个整数相加,则将x和y称为其参数:

int add(int x, int y) {
    return x + y;
}

在使用" add"的呼叫站点,例如下面所示的示例,123和456将被称为呼叫的参数。

int result = add(123, 456);

另外,某些语言规范(或者正式文档)选择仅使用参数或者自变量,而使用形容词(如形式和实际)代替这两种情况的歧义。例如,C / C ++文档经常将函数参数称为形式参数,将函数调用参数称为实际参数。有关示例,请参见Visual C ++语言参考中的形式参数和实际参数。

这些术语可以互换。在其他答案中描述的区别更恰当地表达为函数内部使用的名称形式参数和调用站点提供的值的参数形式参数(形式参数和参数也很常见)。

还要注意,在数学中,术语"变元"更为常见,而参数通常表示完全不同的东西(尽管参数方程式中的参数本质上是两个或者多个函数的变元)。