Какая разница между аргументом и параметром?
При устном разговоре о методах я никогда не уверен, использовать ли аргумент или параметр слова или что-то еще. В любом случае другие люди знают, что я имею в виду, но что правильно, и какова история терминов?
Я программист на С#, но я также задаюсь вопросом, используют ли люди разные термины на разных языках.
Для записи я самоучка без опыта работы в области компьютерных наук. (Пожалуйста, не говорите мне читать Code Complete, потому что я прошу об этом в интересах других людей, у которых еще нет копии Стив Макконнелл чудесная книга.)
Резюме
Общий консенсус, похоже, заключается в том, что использовать эти термины взаимозаменяемо в командной среде. Кроме того, если вы определяете точную терминологию; то вы также можете использовать "формальный аргумент/параметр" и "фактический аргумент/параметр" для устранения неоднозначности.
Ответы
Ответ 1
Параметр - это переменная в определении метода. Когда вызывается метод, аргументы - это данные, которые вы передаете в параметры метода.
public void MyMethod(string myParam) { }
...
string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);
Ответ 2
Параметр является переменной в объявлении функции.
Аргумент - это фактическое значение этой переменной, которое передается функции.
Ответ 3
Уже есть запись в Википедии по этой теме (см. Parameter), которая определяет и отличает термины параметр и аргумент. Короче говоря, параметр является частью сигнатуры функции/процедуры/метода, а аргумент - это фактическое значение, указанное во время выполнения и/или сайт вызова для параметра.
В статье в Википедии также говорится, что эти два термина часто используются синонимично (особенно, если рассуждать о коде неформально):
Хотя параметры также обычно называемые аргументами, аргументами более правильно воспринимаются как фактические значения или ссылки к переменным параметра, когда подпрограмма вызывается во время выполнения.
Учитывая следующую примерную функцию в C, которая добавляет два целых числа, x
и y
будут называться его параметрами:
int add(int x, int y) {
return x + y;
}
На сайте-вызове с использованием add
, например, приведенном ниже примере, 123 и 456 будут называться аргументами вызова.
int result = add(123, 456);
Кроме того, некоторые спецификации языка (или официальная документация) предпочитают использовать только параметр или аргумент и использовать прилагательные, такие как формальные и фактические, вместо этого, чтобы устранить двусмысленность между этими двумя случаями. Например, документация на C/С++ часто ссылается на параметры функции как формальные аргументы и аргументы вызова функции как фактические аргументы. Например, см. Формальные и фактические аргументы в Visual С++ Language Ссылка.
Ответ 4
Простой:
- P ARAMETER → P LACEHOLDER (это означает, что местозаполнитель принадлежит названию функции и используется в теле функции)
- A RGUMENT → A СТРУКТУРНОЕ ЗНАЧЕНИЕ (Это означает фактическое значение, которое передается вызовом функции)
Ответ 5
Параметр - это то, что вам нужно заполнить, когда вы вызываете функцию. То, что вы вкладываете в это, является аргументом.
Просто установите: аргумент переходит в параметр, аргументом является значение параметра.
Немного больше информации о:
http://en.wikipedia.org/wiki/Parameter_(computer_science)#Parameters_and_arguments
Ответ 6
Использование параметров параметров и аргументов было неправильно использовано среди программистов и даже авторов. При использовании методов параметр term используется для идентификации заполнителей в сигнатуре метода, тогда как аргумент term - это фактические значения, которые вы передаете методу.
MCSD Cerfification Toolkit (Экзамен 70-483) Программирование на С#, 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);
Ответ 7
В редактировании меня часто откладывают на то, как люди забывают: языки структуры основаны на естественных языках.
По-английски
"Параметр" является заполнителем. Они устанавливают формат ответа на разговорном языке. По определению, он участвует в вызове, ограничивая ответ.
"Аргумент" - это позиция, которая рассматривается. Вы утверждаете свое мнение: вы считаете аргумент.
Основное различие
Тематическая роль аргумента - это агент. Тематическая роль параметра - получатель.
Взаимодействия
Вспомните аргумент как мужскую часть, сделав параметр женской частью. Аргумент переходит в параметр.
Использование
Параметр обычно используется в определениях. Аргумент обычно используется в вызовах.
Вопросы
Завершите предложение, чтобы сделать его менее диссонирующим.
(A) Говоря об определении:
- Какой аргумент будет использован []?
- Что [] будет этот параметр []?
(B) Говоря о вызове:
- Какой параметр вы используете, []?
- Что [] будет [] этот параметр?
Ответы
(A)
- on/in/против/с этим параметром
- аргумент (ы)... принять
(B)
- и какие примеры аргументов
- аргумент (ы)... используется в/in/против/с
Перекрытия
Как вы можете себе представить, после ответа: на разговорном языке эти слова будут иногда давать одинаковые ответы!
Итак, как правило:
-
Обычно, если кому-то нужна информация о параметрах, они хотят узнать больше о типе, имени переменной и т.д. Они могут запутаться, если вы приводите только примерные аргументы.
- Обычно, если кому-то нужна информация о аргументах, они хотят знать, какое значение вы передали функции или ее параметрам.
Ответ 8
Параметры функции/метода описывают вам значения, которые он использует для вычисления его результата.
аргументы of - это значения, назначенные этим параметрам во время конкретного вызова функции/метода.
Ответ 9
Или может быть еще проще запомнить это в случае дополнительных аргументов для метода:
public void Method(string parameter = "argument")
{
}
parameter
- это параметр, его значение, "argument"
является аргументом:)
Ответ 10
Термины несколько взаимозаменяемы. Различие, описанное в других ответах, более правильно выражается терминами формального параметра для имени, используемого внутри тела функции и параметра для значения, предоставленного на сайте вызова (формальный аргумент и аргумент также являются общими).
Также обратите внимание, что в математике термин аргумент гораздо более распространен, и параметр обычно означает нечто совершенно другое (хотя параметр в параметрическом уравнении по существу является аргументом для двух или более функций).
Ответ 11
Этот пример может помочь.
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;
}
Ответ 12
Скажем, вы авиакомпания. Вы строите самолет. Вы устанавливаете места в нем. Затем вы заполняете самолет пассажирами и отправляете их где-нибудь. Пассажиры (вернее, некоторые измененные по пространственно-измененной версии) высаживаются. На следующий день вы снова используете тот же самолет и те же места, но с разными пассажирами на этот раз.
Плоскость - это ваша функция.
Параметры - это места.
Аргументы - это пассажиры, которые ходят на этих местах.
Ответ 13
Параметры и аргументы
Все разные термины, которые связаны с параметрами и аргументами, могут сбивать с толку. Однако, если у вас есть несколько простых соображений, вы сможете легко справиться с этими условиями.
- Формальные параметры для функции перечислены в объявлении функции и используются в теле определения функции. Формальный параметр (любого рода) является своего рода пробелом или заполнителем, который заполняется чем-то, когда вызывается функция.
- Аргумент - это то, что используется для заполнения формального параметра. Когда вы записываете вызов функции, аргументы перечисляются в скобках после имени функции. Когда вызов функции выполняется, аргументы подключаются к формальным параметрам.
- Приведенные ниже термины call- и call- относятся к механизму, который используется при подключении. В методе by-value call- используется только значение аргумента. В этом call- механизме by-value формальный параметр является локальной переменной, которая инициализируется значением соответствующего аргумента. В механизме call- by-reference аргумент является переменной и используется вся переменная. В механизме call- by-reference переменная аргумента заменяется формальным параметром, так что любое изменение, которое делается для формального параметра, фактически выполняется для переменной аргумента.
Источник: Абсолют C++, Уолтер Саввич
То есть,
![enter image description here]()
Ответ 14
Всегда помните, что: -
Аргументы передаются при получении параметров.
Ответ 15
Параметр является переменной в объявлении функции.
Аргумент - это фактическое значение этой переменной, которое передается в функцию. ![enter image description here]()
Ответ 16
Аргумент - это экземпляр параметра.
Ответ 17
Да! Параметры и аргументы имеют разные значения, которые можно легко объяснить следующим образом:
Функция Параметры - это имена, перечисленные в определении функции.
Функция Аргументы - это реальные значения, переданные (и полученные) функцией.
Ответ 18
Или даже проще...
Аргументы в!
Параметры out!
Ответ 19
Оба они не имеют большой разницы в использовании в 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
есть формальные параметры, а a
и b
являются фактическими аргументами.
Ответ 20
Простые объяснения без кода
"Параметр" - это очень общая, широкая вещь, но "аргумент: это очень конкретная, конкретная вещь. Это лучше всего иллюстрируется повседневными примерами:
Пример 1: Торговые автоматы - деньги - это параметр, $ 2,00 - аргумент
Большинство машин принимают входные данные и возвращают выходные данные. Например, торговый автомат принимает в качестве входных данных: money и возвращает: газированные напитки в качестве выходных данных. В этом конкретном случае он принимает в качестве параметра: деньги.
Какой тогда аргумент? Ну, если я положу $ 2,00 в машину, то аргумент будет: $ 2,00 - это очень конкретный вход.
Пример 2: Автомобили - Бензин является параметром
Давайте рассмотрим автомобиль: они принимают бензин (неэтилированный бензин) в качестве входа. Можно сказать, что эти машины принимают параметры типа: бензин. Аргументом будет точный и конкретный вклад, который я вложил в свою машину. Например, в моем случае аргумент будет: 40 литров неэтилированного бензина/бензина.
Пример 3 - Разработка аргументов
Аргумент - это конкретный и конкретный пример ввода. Предположим, моя машина принимает человека за вход и превращает его в человека, который не лжец.
Что тогда является аргументом? Аргументом будет конкретный человек, который фактически помещен в машину. например, если Колин Пауэлл будет помещен в машину, то аргумент будет Колин Пауэлл.
Таким образом, параметром будет человек как абстрактное понятие, но аргументом всегда будет конкретный человек с конкретным именем, который помещается в машину. Аргумент конкретный и конкретный.
Это разница. Просто.
Смущенный?
Оставьте комментарий, и я исправлю объяснение.
Ответ 21
Учебники Oracle Java определяют это различие таким образом:
"Параметры ссылаются на список переменных в объявлении метода. Аргументы - это фактические значения, которые передаются при вызове метода. Когда вы вызываете метод, используемые аргументы должны соответствовать параметрам объявления в типе и порядке".
Более подробное обсуждение параметров и аргументов:
https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html
Ответ 22
Логически говоря, мы говорим об одном и том же.
Но я думаю, что простая метафора была бы полезной для решения этой дилеммы.
Если метафоры можно назвать различной точкой соединения, мы можем приравнять их к точкам пробки на стене.
В этом случае мы можем рассматривать параметры и аргументы следующим образом:
Параметры - это сокеты подключаемого модуля, которые могут иметь различные формы. Но им подходят только определенные типы пробок.
Аргументы - это фактические вилки, которые будут подключены к точкам/разъемам для подключения определенных устройств.
Ответ 23
Когда мы создаем метод (функцию) в Java, метод вроде этого.
data-type name of the method (data-type variable-name)
В скобках указаны эти параметры, и когда мы вызываем метод (функцию), мы передаем значение этого параметра, которые называются аргументами.
Ответ 24
Согласно книге Иосифа Алабахари "С# в двух словах" (С# 7.0, стр. 49):
static void Foo (int x)
{
x = x + 1; // When you're talking in context of this method x is parameter
Console.WriteLine (x);
}
static void Main()
{
Foo (8); // an argument of 8.
// When you're talking from the outer scope point of view
}
В некоторых человеческих языках (афаик итальянский, русский) синонимы широко используются для этих терминов.
- параметр= формальный параметр
- Аргумент= фактический параметр
В моем университете профессора используют оба типа имен.
Ответ 25
Параметры - это переменные, полученные функцией. Они видны в объявлении функции. Они содержат имя переменной с типом данных.
Аргументы - это фактические значения, которые передаются другой функции. вот почему мы можем видеть их в вызове функции. Это просто значения без их типа данных
Ответ 26
Формальные параметры для функции перечислены в объявлении функции и используются в теле определения функции. Формальный параметр (любого рода) является своего рода пробелом или заполнителем, который заполняется чем-то, когда вызывается функция.
Аргумент - это то, что используется для заполнения формального параметра. Когда вы записываете вызов функции, аргументы перечисляются в скобках после имени функции. Когда вызов функции выполняется, аргументы подключаются к формальным параметрам.
Термины call-by-value и call-by-reference относятся к механизму, который используется при подключении. В методе "по вызову" используется только значение аргумента. В этом механизме "позывной" формальный параметр является локальной переменной, которая инициализируется значением соответствующего аргумента. В механизме вызова по ссылке аргумент является переменной и используется вся переменная. В механизме вызова по ссылке переменная аргумента заменяется формальным параметром, так что любое изменение, которое делается для формального параметра, фактически выполняется для переменной аргумента.
Ответ 27
Параметры - это переменные, которые используются для хранения данных, переданных в функцию для используемой функции. Аргументы - это фактические данные, которые передаются в функцию при ее вызове:
// 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);
Ответ 28
Аргумент, переданный функции/методу, сохраняется в его параметре.
Ответ 29
Я подумал и понял, что мой предыдущий ответ был неправильным. Здесь гораздо лучшее определение
{Представьте себе коробку с яйцами: пакет колбасных ссылок: и горничная} Они представляют собой элементы функции, необходимые для подготовки: (используйте любое имя: скажем, Кулинария - это имя моей функции).
A Maid - это метод.
(Вы должны __call_ или попросить этот метод сделать завтрак) (акт приготовления завтрака - это функция, называемая кулинарией) _
Яйца и колбасы являются параметрами:
(потому что количество яиц и количество колбас, которые вы хотите съесть, __variable_.) _
Ваше решение является аргументом:
Он представляет __Value_ выбранного количества яиц и/или колбасных изделий, которые вы готовите._
{Мнемоник}
_ "Когда вы вызываете горничную и просите ее сделать завтрак, она __argues_ с вами о том, сколько яиц и колбас вы должны есть. Она беспокоилась о вашем холестерине" __
(Аргументы - это значения для комбинации параметров, которые вы объявили, и решили перейти к вашей функции)
Ответ 30
Это прекрасно объяснялось в Parameter (компьютерное программирование) - Wikipedia
Неправильно параметр является типом, а аргумент - экземпляром.
В определении функции f(x) = x*x
переменная x
является параметром; в вызове функции f(2)
значение '' 2 является аргументом функции.
И Параметр - Википедия
В компьютерном программировании обычно используются два понятия параметра и называются параметрами и аргументами или более формально как формальный параметр и фактический параметр.
Например, в определении функции, такой как
y = f(x) = x + 2,
x - формальный параметр (параметр) определенной функции.
Когда функция оценивается для заданного значения, как в
f(3): or, y = f(3) = 3 + 2 = 5,
- фактический параметр (аргумент) для оценки определенной функцией; это заданное значение (фактическое значение), которое заменяется формальным параметром определенной функции. (При случайном использовании параметры параметров и аргумент могут быть непреднамеренно заменены и, следовательно, неправильно использованы.)