当口头谈论方法时,我永远不确定是否使用单词参数或参数或其他东西.无论哪种方式,其他人都知道我的意思,但是什么是正确的,这些条款的历史是什么?
我是一名C#程序员,但我也想知道人们是否使用不同语言的不同术语.
根据记录,我是自学成才,没有计算机科学的背景.(请不要告诉我阅读Code Complete,因为我问这个是为了其他没有史蒂夫麦康奈尔精彩书籍的人的利益.)
普遍的共识似乎是在团队环境中交替使用这些术语是可以的.除非您定义精确的术语; 那么你也可以使用" 形式参数/参数"和" 实际参数/参数"来消除歧义.
参数是方法定义中的变量.调用方法时,参数是传递给方法参数的数据.
public void MyMethod(string myParam) { } ... string myArg1 = "this is my argument"; myClass.MyMethod(myArg1);
参数在函数声明中是可变的.
参数是传递给函数的此变量的实际值.
已经有关于该主题的维基百科条目(参见参数),该条目定义和区分术语参数和参数.简而言之,参数是函数/过程/方法签名的一部分,参数是在运行时和/或调用现场为参数提供的实际值.
维基百科的文章还指出这两个术语经常被同义使用(特别是在非正式地推理代码时):
虽然参数通常也称为参数,但在运行时调用子例程时,参数更适合被视为分配给参数变量的实际值或引用.
给出下面的例子中功能用C,增加了两个整数,x
并且y
将被称为它的参数:
int add(int x, int y) { return x + y; }
在使用呼叫站点时add
,例如下面所示的示例,123和456将被称为呼叫的参数.
int result = add(123, 456);
此外,一些语言规范(或正式文件),选择要使用的参数或参数完全和使用的形容词像正式的和实际的,而不是这两种情况之间的歧义.例如,C/C++文档通常将函数参数称为形式参数,将函数调用参数称为实际参数.有关示例,请参阅Visual C++语言参考中的" 正式和实际参数 " .
简单:
P ARAMETER → P LACEHOLDER(这意味着占位符属于函数命名并在函数体中使用)
甲 RGUMENT→ 甲 CTUAL VALUE(这意味着其由函数调用传递的实际值)
调用函数时,必须填写参数.你在其中提出的是争论.
简单设置:参数进入参数,参数是参数的值.
更多信息:http: //en.wikipedia.org/wiki/Parameter_ (computer_science)#Parameters_and_arguments
参数在函数声明中是可变的.
参数是传递给函数的此变量的实际值.
术语参数和参数的使用在程序员甚至作者中都被滥用了.处理方法时,term 参数用于标识方法签名中的占位符,而术语参数是传递给方法的实际值.
MCSD Cerfification Toolkit(考试70-483)C#编程,第1版,Wrox,2013
真实案例场景
// Define a method with two parameters int Sum(int num1, int num2) { return num1 + num2; } // Call the method using two arguments var ret = Sum(2, 3);
在编辑方面,我经常会忘记人们如何忘记:结构语言基于自然语言.
"参数"是占位符.他们用口语设置了响应格式.根据定义,它是呼叫的一方,限制了响应.
"论证"是正在考虑的立场.你争论你的观点:你考虑一个论点.
论证的主题作用是代理人.参数的主题作用是接受者.
将该论点视为男性部分,使参数成为女性的一部分.参数进入参数.
参数通常用于定义中.参数通常用于调用.
完成句子,使其不那么不协调.
(A)说到定义:
将使用什么参数[]?
这个参数[]会是什么[]?
(B)说到调用:
你会用什么参数,[]?
[]将[]这个参数是什么?
(一个)
on/in/against/with this参数
论证......采取
(B)
什么是一些示例参数
argument(s)...用于/ in/against/with
你可以想象,在回答之后:用口语,这些词有时会产生相同的反应!
所以,作为一项规则:
通常,如果有人想要参数信息,他们想要更多地了解类型,变量名称等.如果您只提供示例参数,它们可能会变得混乱.
通常,如果有人想要参数信息,他们想知道您传递给函数或其参数的值.
函数/方法的参数向您描述它用于计算结果的值.
所述参数的一个是函数/方法的一个特定的呼叫期间分配给这些参数的值.
这个例子可能有帮助.
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; }
或者在方法的可选参数的情况下,可能更简单地记住这样:
public void Method(string parameter = "argument") { }
parameter
是参数,它的值,"argument"
是参数:)
参数和参数
与参数和参数有关的所有不同术语都可能令人困惑.但是,如果您记住几个简单的要点,您将能够轻松处理这些条款.
函数的形式参数列在函数声明中,并在函数定义的主体中使用.形式参数(任何类型)是一种空白或占位符,在调用函数时会填充某些内容.
一种说法是什么,是用来填补在正式的参数.当您记下函数调用时,参数将在函数名称后的括号中列出.执行函数调用时,插入参数以获取形式参数.
术语调用-值和调用-参考指的是在连接器插头插入在过程中使用的机制.在call-by-value方法中,仅使用参数的值.在这个按值调用机制中,形式参数是一个局部变量,它初始化为相应参数的值.在call-by-reference机制中,参数是一个变量,并使用整个变量.在call-by-reference机制中,参数变量替换形式参数,以便对形参数进行的任何更改实际上都是对参数变量进行的.
资料来源:Absolute C++,Walter Savitch
那是,
始终记住: - 在接收参数时传递参数.
这些术语有些可以互换.在其他的答案中描述的区别在于更正确地与术语表达形式参数的功能和体内所使用的名称参数在调用站点提供的值(正式说法和争论也很常见).
还要注意的是,在数学术语的说法是更为常见和参数通常意味着完全不同的东西(虽然参数的参数方程本质上是争论的两个或多个功能).
假设你是一家航空公司.你建造了一架飞机.你在里面安装座位.然后,你把乘客填满飞机并送到某个地方.乘客(或者更确切地说,其中一些时空改变版本)下船.第二天,你重新使用同一架飞机和相同的座位,但这次乘客不同.
飞机是你的功能.
参数是座位.
争论的焦点是进入这些座位的乘客.