Gibt es einen Unterschied zwischen Argumenten und Parametern?

15

Es könnte so aussehen: Parameter bedeutet vom Aufrufer POV und Argumente bedeuten innerhalb der Prozedur oder anders herum.

Oder gibt es keinen Unterschied?

Aktualisieren

Im Schwedischen sagen wir "anropsparametrar", dh "Parameter, die die Prozedur aufrufen" und wir würden nicht "anropsargument" sagen ("Argumente, die die Prozedur aufrufen").

Niklas
quelle
1
es hängt vom Kontext ab, auf den Sie sich beziehen
Yusubov 12.10.12
2
Bitte suchen Sie das nächste Mal: stackoverflow.com/questions/3176310/…
Overv
1
@Overv Auch das ist ein Duplikat. Diese Frage wurde milliardenfach gestellt. Ich kann nicht glauben, dass ein Kopfgeld festgesetzt wurde.
Alternatex

Antworten:

31

Laut MSDN-Artikel gibt es einige Definitionsunterschiede, was als Parameter und was als Argument bezeichnet wird:

Parameter:

Ein Parameter stellt einen Wert dar, den die Prozedur beim Aufrufen übergeben soll. Die Deklaration der Prozedur definiert ihre Parameter.

Streit:

Ein Argument stellt den Wert dar, den Sie an einen Prozedurparameter übergeben, wenn Sie die Prozedur aufrufen. Der aufrufende Code liefert die Argumente, wenn er die Prozedur aufruft.

Es gibt auch ein großartiges Zitat, wie man es in einem realen Beispiel versteht:

Um diese Informationen an die Prozedur zu übermitteln, definiert die Prozedur einen Parameter und der aufrufende Code übergibt ein Argument an diesen Parameter. Sie können sich den Parameter als Parkplatz und das Argument als Automobil vorstellen. So wie verschiedene Automobile zu unterschiedlichen Zeiten auf dem Parkplatz parken können, kann der aufrufende Code bei jedem Aufruf der Prozedur ein anderes Argument an denselben Parameter übergeben.

Yusubov
quelle
5
Die C # -Sprachenspezifikation stimmt dem zu. Im Abschnitt "1.6.6.1 Parameter" heißt es beispielsweise: "Die Parameter einer Methode beziehen ihre tatsächlichen Werte aus den Argumenten, die beim Aufruf der Methode angegeben werden."
Akton