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

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

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

总结

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


当前回答

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

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

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.

其他回答

它们在C语言中的用法没有太大的区别,这两个术语都被使用了 在实践中。 大多数参数通常与函数一起使用。随函数调用语句传递的值称为实参,形参是复制函数定义中的值的变量(称为形式形参)。

int main ()
{
   /* local variable definition */
   int a = 100;
   int b = 200;
   int ret;

   /* calling a function to get max value */
   ret = max(a, b);

   printf( "Max value is : %d\n", ret );

   return 0;
}

/* function returning the max between two numbers */
int max(int num1, int num2) 
{
   /* local variable declaration */
   int result;

   if (num1 > num2)
      result = num1;
   else
      result = num2;

   return result; 
}

在上面的代码中,num1和num2是形式参数,a和b是实际参数。

从逻辑上讲,我们谈论的其实是同一件事。 但我认为一个简单的比喻将有助于解决这个困境。

如果这些比喻可以称为各种连接点,我们可以把它们等同于墙上的插头点。 在这种情况下,我们可以这样考虑参数和参数;

参数是插接点的插座,可以有各种不同的形状。但只有特定类型的插头适合它们。 参数将是插入插头点/插座以激活某些设备的实际插头。

参数是在调用函数时必须填写的东西。你放进去的是论证。

简单设置:实参进入形参,实参就是形参的值。

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

简单:

PARAMETER→占位符(这意味着一个占位符属于函数命名,用于函数体中) 参数→实际值(这意味着调用函数传递的实际值)

一般来说,术语parameter和argument可以互换使用,表示传递到函数中的信息。

然而,从函数的角度来看:

形参是函数定义中括号内列出的变量。 实参是调用函数时发送给函数的值。