参数和参数之间有什么区别?

当口头谈论方法时,我不确定是否使用单词参数或参数或其他。 无论哪种方式,其他人都知道我的意思,但是什么是正确的,这些术语的历史是什么?

我是C#程序员,但我也怀疑人们是否在不同的语言中使用不同的术语。

为了纪录,我自学成才,没有计算机科学背景。 (请不要告诉我阅读Code Complete,因为我问这是为了还没有Steve McConnell奇妙书籍副本的其他人的利益。)

概要

普遍的共识似乎是,可以在团队环境中交替使用这些术语。 除了可能在定义精确的术语时, 那么你也可以使用“形式参数/参数”和“实际参数/参数”来消除歧义。


参数是方法定义中的变量。 当一个方法被调用时,参数就是你传递给方法参数的数据。

public void MyMethod(string myParam) { }

...

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

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

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


该主题已经有一个维基百科条目(参见参数),用于定义和区分术语参数和参数。 简而言之,参数是函数/过程/方法签名的一部分,参数是运行时和/或调用站点为参数提供的实际值。

维基百科文章还指出,这两个术语经常被用作同义词(特别是在非正式推理代码时):

尽管参数通常也被称为参数,但在运行时调用子例程时,参数更适当地被认为是分配给参数变量的实际值或引用。

给定C中的以下示例函数添加两个整数, xy将被称为其参数:

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

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

int result = add(123, 456);

此外,某些语言规范(或正式文档)选择仅使用参数或参数,并使用形容词(如形式和实际)来消除这两种情况之间的歧义。 例如,C / C ++文档通常将函数参数称为形式参数和函数调用参数作为实际参数。 有关示例,请参阅Visual C ++语言参考中的“形式和实际参数”。

链接地址: http://www.djcxy.com/p/20675.html

上一篇: What's the difference between an argument and a parameter?

下一篇: What's your favorite "programmer" cartoon?