参数或参数?

我经常发现自己对如何使用“参数”和“参数”这些术语感到困惑。 他们似乎在编程世界中可以互换使用。

什么是正确的使用惯例?

参数是由函数定义的东西作为input,参数是作为parameter passing的东西。

void foo(int bar) { ... } foo(baz); 

在这个例子中, barfoo一个参数。 baz是传给foo一个参数。

参数是函数声明中的一个variables:

 functionName(parameter) { // do something } 

一个参数是传递给函数的这个variables的实际值:

 functionName(argument); 

对于user1515422,一个非常具体的例子,显示参数和参数之间的区别:

考虑这个function:

 int divide(int numerator, int denominator) { return numerator/denominator; } 

它有两个参数numeratordenominator ,定义时设置。 一旦定义,函数的参数是固定的,不会改变。

现在考虑一下这个函数的调用:

 int result = divide(8, 4); 

在这种情况下, 84是传递给函数的参数numerator参数设置为参数8的值, denominator设置为4 。 然后函数的参数被设置为参数的值。 您可以将此过程视为等同于:

 int divide() { int numerator = 8; int denominator = 4; return numerator/denominator; } 

参数和参数之间的差异类似于variables和它的值之间的差异。 如果我写int x = 5; ,variables是x ,值是5 。 可能会产生混淆,因为把“x是五”这样的词当作“variablesx的值为5”的缩写是自然的,但希望这种区分是明确的。

这是否澄清事情?

参数是你在调用一个子程序时所拥有的。 参数是您在子程序内部访问的内容。

 argle(foo, bar); 

foobar是参数。

 public static void main(final String[] args) { args.length; } 

args是一个参数。

在参数维基百科有关这个问题的文章有很好的部分。

总之 – 参数是由函数定义的正式名称, 参数是实际值(如5)或者东西(如variables)传入函数。

尽pipe维基百科几乎不是权威来源,但它在解释条款方面做得不错。

我想你可以说参数是什么类的对象的实例的参数…

当你定义一个函数如:

 MyFunction(param1,param2) { print parameter1, parameter } 

您在定义函数时设置参数。 当你像这样调用函数:

 MyFunction('argument1', 'argument2'); 

您将参数的值设置为您传递的参数。 这个论点就是你在调用它的时候提出的问题。 希望有所帮助。

根本没有什么重大的区别。 如果我们深入这一点,我们可以找出差异。主要我们知道参数/参数/签名都是相同的。

基本参数定义了我们传递的数据的types。 参数定义了我们传递的实际数据/variables。

参数例子: –

 int add(int a,int b){ //Here a and be both can treated as Parameter return a+b; } 

参数例子: –

 int return_result=add(3,4); // Here 3 and 4 both can treated as Argument or int x=3,y=4; int return_result=add(x,y);// Here x and y both can treated as Argument 

在大多数情况下,程序需要一些有关被调用的情况的信息。 执行重复或共享任务的过程对每个调用使用不同的信息。 这些信息由variables,常量和expression式组成,当您调用该variables,常量和expression式时,将传递给该过程。

为了将该信息传递给过程,过程定义了一个参数,调用代码将parameter passing给该参数。 你可以把这个参数看作一个停车位,并把这个参数看作一辆汽车。 就像不同的汽车可以在不同的时间停放在停车位上一样,每次调用程序时,调用代码都可以将不同的parameter passing给相同的参数。

参数

一个参数表示程序期望您在调用它时通过的值。 过程的声明定义了它的参数。

当您定义一个函数子过程时 ,您可以在过程名称后面的括号中指定一个参数列表。 对于每个参数,您指定一个名称,一个数据types和一个传递机制(ByVal或ByRef)。 你也可以指出一个参数是可选的,这意味着调用代码不必为它传递一个值。

每个参数的名称作为程序中的局部variables。 您使用参数名称的方式与使用其他variables的方式相同。

参数

参数表示在调用过程时传递给过程参数的值。 调用代码在调用过程时提供参数。

当您调用函数子过程时 ,可以在过程名称后面的括号中包含一个参数列表。 每个参数对应于列表中相同位置的参数。

与参数定义相比,参数没有名称。 每个参数都是一个expression式,可以包含零个或多个variables,常量和文字。 评估expression式的数据types通常应该与为相应参数定义的数据types匹配,并且在任何情况下都必须可以转换为参数types。

实际上,参数和参数都是不同types的参数。 那些是

1)forms参数 – variables出现在函数/子程序定义中

例如。 (在Java中)

 public void foo(Integer integer, String... s2) 

这里整数和s2都是forms参数,或者说松散的参数。

2)实际参数或参数 – variables在调用时出现在子程序中

已经定义的子程序

例如。 (在Java中)假设如果函数“foo”驻留在对象“testObject”中,

 testObject.foo(new Integer(1), "test") 

所以函数定义中的variables被称为forms参数或简单的参数和variables,而调用方法被称为实际参数或参数。 我希望它有帮助。

把它想象成基本的代数。 X是你必须填写的参数,放在里面的数字就是参数。 所以如果你有一个像X + 2这样的等式,那么X就是你的参数,而你为X而改变的任何数字都被称为参数。 所以,如果使用这个公式,你补充1的x,你得到1 + 2。 这意味着1是一个参数,提供给X的参数。

同样,如果你有像dosomething(“this”)这样的函数,它的定义将是dosomething(string parametername),但是“This”将是提供给参数的实际参数,在这里命名为parametername。

以最简单的方式来看它,参数是参数填充的东西,参数可以是该参数允许的任何数目的东西。

所以这是参数和参数之间的多对一的关系,因为你可以有一个参数可以有许多有效的参数,就像我们上面的X + 1方程一样。 X可以是已知的任何数字,并且都是有效的。

一个variables是一个存储位置和一个关联的符号名称(一个标识符),它包含数据,一个值。

参数是一个传递给函数的variables。

参数是传递给函数的数据(一个值)。

 $variable = 'data/value'; function first($variable){ ... } function second('data/value'){ ... } function third(16){ ... } 

在函数中,我们首先传递一个参数。

在第二和第三个函数中,我们传递参数。