890

メソッドについて口頭で話すとき、引数またはパラメーターという言葉を使うべきか、それとも何か他の言葉を使うべきか、私にはよくわかりません。いずれにせよ、他の人々は私の言いたいことを知っていますが、何が正しいのか、用語の歴史は何なのか?

私は C# プログラマーですが、人々が異なる言語で異なる用語を使用するかどうかも疑問です。

記録のために、私はコンピューター サイエンスのバックグラウンドなしで独学で勉強しました。( Steve McConnellの素晴らしい本をまだ持っていない他の人々の利益のためにこれを求めているので、Code Completeを読むように言わないでください。)

概要

チーム環境ではこれらの用語を同じ意味で使用しても問題ないというのが一般的なコンセンサスのようです。おそらく、正確な用語を定義している場合を除きます。次に、「引数/パラメーター」と「引数/パラメーター」を使用してあいまいさを解消することもできます。

4

36 に答える 36

1155

パラメーターは、メソッド定義内の変数です。メソッドが呼び出されると、引数はメソッドのパラメーターに渡すデータです。

public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);
于 2008-10-01T09:03:34.763 に答える
402

パラメータは関数の宣言で可変です。

Argumentは、関数に渡されるこの変数の実際の値です。

于 2008-10-01T09:00:25.473 に答える
81

用語parameterargumentを定義および区別する主題 ( Parameterを参照) に関するウィキペディアのエントリが既にあります。つまり、パラメーターは関数/プロシージャ/メソッド シグネチャの一部であり、引数はパラメーターの実行時および/または呼び出しサイトで提供される実際の値です。

ウィキペディアの記事では、この 2 つの用語はしばしば同義語として使用されることも述べています (特にコードについて非公式に推論する場合)。

パラメーターは一般に引数とも呼ばれますが、引数は、実行時にサブルーチンが呼び出されるときにパラメーター変数に割り当てられる実際の値または参照としてより適切に考えられます。

x2 つの整数を加算する次の C の関数の例を考えると、yそのパラメーターとして参照されます。

int add(int x, int y) {
    return x + y;
}

add以下に示す例のように、を使用する呼び出しサイトでは、 123456が呼び出しの引数として参照されます。

int result = add(123, 456);

また、一部の言語仕様 (または正式なドキュメント) では、パラメーターまたは引数を排他的に使用することを選択し、代わりに正式実際のような形容詞を使用して、2 つのケースを区別します。たとえば、C/C++ ドキュメントでは、関数パラメーター仮引数、関数呼び出し引数実引数と呼ぶことがよくあります。例については、『 Visual C++ 言語リファレンス』の「<a href="http://msdn.microsoft.com/en-us/library/f81cdka5.aspx" rel="noreferrer">仮引数と実際の引数」を参照してください。

于 2008-10-01T09:27:35.410 に答える
35

パラメータは、関数を呼び出すときに入力する必要があるものです。そこに入れるのは引数です。

単純に設定します。引数はパラメーターに入ります。引数はパラメーターの値です。

もう少し詳しい情報: http://en.wikipedia.org/wiki/Parameter_(computer_science)#Parameters_and_arguments

于 2008-10-01T09:03:29.600 に答える
22

パラメーターと引数という用語の使用は、プログラマーや作成​​者の間でさえ、いくらか誤用されています。メソッドを扱う場合、パラメーターという用語はメソッド シグネチャのプレースホルダーを識別するために使用されますが、引数という用語はメソッドに渡す実際の値です。

MCSD Cerfification Toolkit (Exam 70-483) Programming in 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);
于 2014-06-23T13:31:38.387 に答える
11

編集中、私はしばしば人々が忘れていることに気が進まないことがあります: 構造言語は自然言語に基づいています。

英語で

「パラメーター」はプレースホルダーです。彼らは、話し言葉で応答形式を設定します。定義上、それは呼び出しの当事者であり、応答を制限します。

「議論」とは、検討されている立場です。あなたは自分の意見を主張します:あなたは議論を検討します。

主な違い

議論のテーマ上の役割はエージェントです。パラメータのテーマ上の役割は受信者です。

相互作用

引数を男性部分と考えて、パラメーターを女性部分にします。引数はパラメーターに入ります。

使用法

パラメータは通常、定義で使用されます。引数は通常、呼び出しで使用されます。

質問

不協和音を少なくするために文を完成させます。

(A) 定義といえば:

  1. どの引数が使用されますか []?
  2. このパラメーターは何 [] になりますか?

(B) 呼び出しといえば:

  1. [] のどのパラメータを使用しますか?
  2. このパラメーターは何 [] になりますか?

回答

(ア)

  1. オン/イン/アゲインスト/このパラメーターで
  2. 引数 ... 取る

(ロ)

  1. いくつかの例の引数は何ですか
  2. 引数 ... オン/イン/アゲインスト/ウィズで使用

オーバーラップ

ご想像のとおり、答えた後: 話し言葉では、これらの単語は時々同じ応答を生成します!

したがって、原則として:

  • 通常、誰かがパラメーター情報を知りたい場合、型や変数名などについてもっと知りたがります。引数の例だけを与えると、混乱する可能性があります。

    • 通常、引数情報が必要な場合は、関数またはそのパラメーターに渡した値を知りたがります。
于 2014-06-02T10:25:38.287 に答える
10

または、メソッドのオプションの引数の場合、次のように覚える方が簡単かもしれません:

public void Method(string parameter = "argument") 
{

}

parameterパラメータ、その値、"argument"引数です:)

于 2013-12-22T04:21:13.193 に答える
10

関数/メソッドのパラメーターは、結果の計算に使用する値を示します。

関数の引数は、関数/メソッドの特定の呼び出し中にこれらのパラメーターに割り当てられる値です。

于 2008-10-01T09:04:06.917 に答える
10

常に次のことを覚えておいてください:
パラメータが受け取られる間に引数が渡されます。

于 2017-09-22T08:48:50.223 に答える
9

この例が役に立つかもしれません。

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;
}
于 2013-08-26T15:06:13.887 に答える
6

用語は多少互換性があります。他の回答で説明されている違いは、関数の本体内で使用される名前の仮パラメーターと呼び出しサイトで提供される値のパラメーターという用語でより適切に表現されます(引数引数一般的です)。

また、数学では、引数という用語ははるかに一般的であり、パラメーターは通常、まったく異なるものを意味することに注意してください (ただし、パラメトリック方程式のパラメーターは、本質的に 2 つ以上の関数への引数です)。

于 2008-10-01T09:37:11.393 に答える
5

Yes! Parameters and Arguments have different meanings, which can be easily explained as follows:

Function Parameters are the names listed in the function definition.

Function Arguments are the real values passed to (and received by) the function.

于 2017-06-28T09:10:47.180 に答える
3

どちらも 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は仮パラメータであり、abは実引数です。

于 2013-10-27T14:25:35.720 に答える
3

Oracle の Java チュートリアルでは、この区別を次のように定義しています。タイプと順序で。」

パラメータと引数の詳細な説明: https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html

于 2016-03-10T17:36:00.043 に答える
2

それとももっと単純...

! の引数

パラメータアウト!

于 2013-06-15T06:09:30.543 に答える
0

パラメーターは、関数が使用するために関数に渡されるデータを格納するために使用される変数です。引数は、呼び出されたときに関数に渡される実際のデータです。

// 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);
于 2017-07-26T11:37:57.913 に答える
0

パラメーターは、関数が受け取る変数です。したがって、関数宣言で表示されます。変数名とそのデータ型が含まれています。引数は、別の関数に渡される実際の値です。そのため、関数呼び出しでそれらを見ることができます。それらはデータ型のない単なる値です

于 2016-11-27T18:26:53.687 に答える