参数和参数之间的区别

The*_*978 115 language-agnostic parameters arguments terminology

"参数"和"参数"之间是否有区别,或者它们只是同义词?

dan*_*lei 200

参数通常用于实际论证形式参数的意义上.

形式参数是什么在函数声明/定义/原型给出,而实际的参数是调用函数时什么传递-形式参数的情况下,如果你愿意.

话虽这么说,它们经常互换使用,它们的确切用途取决于不同的编程语言及其社区.例如,我也听过实际的参数等.

所以在这里,x并且y将所有形式参数:

int foo(int x, int y) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

而在这里,在函数调用中,5和z是实际的参数:

foo(5, z);
Run Code Online (Sandbox Code Playgroud)

  • 我想看看这种用法的语言. (42认同)
  • "&"是"e"和"t"的结合,因此它表示"et",它是"和"的拉丁语."c"代表"cetera",意思是"(其他人)"(Nom.pl.n.).所以你可以用"和其他东西"或"等等"代替它. (40认同)
  • @JakePetroules换句话说它是"et cetera"http://en.wikipedia.org/wiki/Etcetera的缩写,但我会说(传闻)它更常见的缩写等. (11认同)
  • 说到术语,你使用的"&c"是什么?这是否意味着"反之亦然"或类似的东西? (5认同)
  • @donquixote我会说"参数值"和"参数"不是同义词.例如,您可以进行以下调用foo(1,2,3),其中(例如在C#中)被调用方法的签名是foo(a,params int [] b).这里的参数是1,2,3,参数值是1和{2,3}. (2认同)

Jon*_*ler 19

通常,参数是函数内部使用的参数,参数是调用函数时传递的值.(除非你采取相反的观点 - 维基百科在讨论参数和参数时提到了替代约定).

double sqrt(double x)
{
    ...
    return x;
}

void other(void)
{
     double two = sqrt(2.0);
}
Run Code Online (Sandbox Code Playgroud)

根据我的论文,x是参数sqrt(),2.0是参数.

这些术语通常至少在某种程度上可互换使用.


nas*_*nas 5

它们通常在文本中互换使用,但在大多数标准中,区别在于参数是传递给函数的表达式,其中参数是在函数声明中声明的引用.