В чем разница между аргументом и параметром? - PullRequest
606 голосов
/ 01 октября 2008

Говоря о методах в устной форме, я никогда не уверен, использовать ли слово аргумент или параметр или что-то еще. В любом случае другие люди знают, что я имею в виду, но что правильно, и какова история терминов?

Я программист на C #, но мне также интересно, используют ли люди разные термины на разных языках.

Для справки, я самоучка без знания компьютерных наук. (Пожалуйста, не говорите мне, чтобы я прочитал Code Complete , потому что я спрашиваю это для других людей, у которых еще нет копии Стива МакКоннелла изумительной книги .)

Резюме

По общему мнению, эти термины можно использовать взаимозаменяемо в командной среде. За исключением, возможно, когда вы определяете точную терминологию; тогда вы также можете использовать « формальный аргумент / параметр» и « фактический аргумент / параметр» для устранения неоднозначности.

Ответы [ 31 ]

7 голосов
/ 01 октября 2008

параметры функции / метода описывают вам значения, которые он использует для вычисления своего результата.

Аргументы для a являются значениями, присвоенными этим параметрам во время определенного вызова функции / метода.

6 голосов
/ 26 августа 2013

Этот пример может помочь.

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;
}
6 голосов
/ 01 октября 2008

Условия несколько взаимозаменяемы. Различие, описанное в других ответах, более правильно выражено с помощью терминов формальный параметр для имени, используемого внутри тела функции, и параметра для значения, предоставленного на сайте вызова ( формальный аргумент и аргумент также распространены).

Также отметим, что в математике термин аргумент встречается гораздо чаще, и параметр обычно означает нечто совершенно иное (хотя параметр в параметрическом уравнении по сути это аргумент для двух или более функций).

6 голосов
/ 12 января 2014

Допустим, вы авиакомпания. Вы строите самолет. Вы устанавливаете места в нем. Затем вы заполняете самолет пассажирами и отправляете его куда-нибудь. Пассажиры (точнее, некоторые их пространственно-временные изменения) высаживаются. На следующий день вы снова используете тот же самолет и те же места, но на этот раз с разными пассажирами.

Самолет - твоя функция.

Параметры сидений.

Аргументы - пассажиры, которые садятся на эти места.

6 голосов
/ 22 сентября 2017

Всегда помните, что: - Аргументы передаются при получении параметров.

4 голосов
/ 28 июня 2017

Да! Параметры и аргументы имеют разные значения, которые можно легко объяснить следующим образом:

Функция Параметры - это имена, перечисленные в определении функции.

Функция Аргументы - это действительные значения, переданные (и полученные) функции.

4 голосов
/ 18 марта 2014

Аргумент - это экземпляр параметра.

4 голосов
/ 29 октября 2015

Простые объяснения без кода

«Параметр» - это очень общая, широкая вещь, но «аргумент: это очень конкретная, конкретная вещь. Это лучше всего иллюстрируется повседневными примерами:

Пример 1: Торговые автоматы - деньги - это параметр, $ 2,00 - аргумент

Большинство машин принимают входные данные и возвращают выходные данные. Например, торговый автомат принимает в качестве входных данных: money и возвращает: газированные напитки в качестве выходных данных. В этом конкретном случае он принимает в качестве параметра: деньги.

Какой тогда аргумент? Хорошо, если я положу $ 2,00 в машину, то аргумент будет: $ 2,00 - это очень специфический вход.

Пример 2: Автомобили - Бензин является параметром

Давайте рассмотрим автомобиль: они принимают бензин (неэтилированный бензин) в качестве входа. Можно сказать, что эти машины принимают параметры типа: бензин. Аргументом будет точный и конкретный вклад, который я вложил в свою машину например В моем случае аргументом будет: 40 литров неэтилированного бензина / бензина.

Пример 3 - Разработка аргументов

Аргумент - это конкретный и конкретный пример ввода. Предположим, моя машина принимает в качестве человека человека и превращает его в человека, который не лжец.

Что тогда является аргументом? Аргументом будет конкретный человек, который фактически помещен в машину. например если Колина Пауэлла посадят в машину, то аргументом будет Колин Пауэлл.

Таким образом, параметром будет человек как абстрактное понятие, но аргументом всегда будет конкретный человек с конкретным именем кто положил в машину. Аргумент конкретный и конкретный.

В этом разница. Простой.

Confused

Оставьте комментарий, и я исправлю объяснение.

3 голосов
/ 29 апреля 2017

Логически говоря, мы на самом деле говорим об одном и том же. Но я думаю, что простая метафора была бы полезна для решения этой дилеммы.

Если метафоры можно назвать различными точками соединения, мы можем приравнять их к точкам подключения на стене. В этом случае мы можем рассматривать параметры и аргументы следующим образом:

Параметры - это гнезда штекера, которые могут принимать различные формы. Но только некоторые типы вилок подходят к ним.
Аргументы будут фактическими штекерами, которые будут подключены к точкам / розеткам штекера для активации определенного оборудования.

3 голосов
/ 15 июня 2013

Или еще проще ...

Аргументы в!

Параметры вышли!

...