当口头谈论方法时,我从不确定是否应该使用参数或参数或其他词。不管怎样,其他人都知道我的意思,但什么是正确的,这些术语的历史是什么?

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

声明一下,我是自学的,没有计算机科学的背景。(请不要让我去读《代码完成》,因为我这么做是为了让那些还没有史蒂夫·麦康奈尔这本了不起的书的人受益。)

总结

普遍的共识似乎是,在团队环境中可以互换使用这些术语。除非你在定义精确的术语;然后你也可以使用“正式参数/参数”和“实际参数/参数”来消除歧义。


当前回答

当我们在Java中创建方法(函数)时,方法是这样的..

方法的数据类型名称(Data-type variable-name)

在括号中,这些是形参,当我们调用方法(函数)时,我们传递这个形参的值,这些值称为实参。

其他回答

函数的形式形参在函数声明中列出,并在函数定义的主体中使用。形式形参(任何类型的)是一种空白或占位符,在调用函数时用一些东西填充。

实参是用来填充形式形参的。当你写下一个函数调用时,实参会在函数名后面的括号中列出。在执行函数调用时,将插入形式形参的实参。

The terms call-by-value and call-by-reference refer to the mechanism that is used in the plugging-in process. In the call-by-value method only the value of the argument is used. In this call-by-value mechanism, the formal parameter is a local variable that is initialized to the value of the corresponding argument. In the call-by-reference mechanism the argument is a variable and the entire variable is used. In the call- by-reference mechanism the argument variable is substituted for the formal parameter so that any change that is made to the formal parameter is actually made to the argument variable.

参数是用来存储传递到函数中供函数使用的数据的变量。参数是调用函数时传递给函数的实际数据:

// x and y are parameters in this function declaration
function add(x, y) {
  // function body
  var sum = x + y;
  return sum; // return statement
}

// 1 and 2 are passed into the function as arguments
var sum = add(1, 2);

这个例子可能会有所帮助。

int main () {
   int x = 5; 
   int y = 4;

   sum(x, y); // **x and y are arguments**
}

int sum(int one, int two) { // **one and two are parameters**
   return one + two;
}

由于我的背景和主要环境是C语言,我将从实际的C标准和一本重要的参考书中提供一些关于这个主题的陈述/引用,这本书也是C语言的一个开发人员写的,它经常被引用,通常被视为C语言的第一个非官方标准:


C编程语言(第二版),作者Brian W. Kernighan和Dennis M. Ritchie(1988年4月):

第25页,第1.7节-功能 在函数定义中,我们通常将在括号内列表中命名的变量使用形参,将在函数调用中使用的值使用形参。术语形式论证和实际论证有时用于同样的区别。

ISO/IEC 9899:2018 (C18):

3.3 论点 实际参数 DEPRECATED:实际参数 函数调用表达式中以圆括号为界的逗号分隔列表中的表达式,或者类函数宏调用中以圆括号为界的逗号分隔列表中的预处理令牌序列。


3.16 参数 形式参数 弃用:正式的参数 对象,该对象声明为函数声明或定义的一部分,在函数的入口处获取值,或者在类函数宏定义中,由紧接在宏名称后面的圆括号括起来的逗号分隔的列表中获取标识符。

Parameter是函数声明中的变量。

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