В чем разница между аргументом и параметром?

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

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

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

Резюме

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

Я использую их как взаимозаменяемые ... никто еще не смеялся надо мной ... 'эта функция имеет 4 аргумента ... эта функция принимает 4 параметра'. звучит так же.

Gishu 01.10.2008 13:05

Их можно использовать взаимозаменяемо, за исключением тех случаев, когда вы пытаетесь описать, как работают параметры, как передаются аргументы и т. д. На этом этапе полезна точная терминология (которую иногда бывает сложно выразить).

Jon Skeet 01.10.2008 13:11

Существует как минимум две незакрытых, не зависящих от языка версии этого вопроса: stackoverflow.com/questions/3176310/… и stackoverflow.com/questions/427653/arguments-or-parameters. Есть еще одна версия этого вопроса для C#; Я запросил слияние.

Pops 19.04.2011 23:13

@LordTorgamus: Я добавил к этому не зависящий от языка, так как плакат также спрашивал, используют ли другие языковые сообщества ту же терминологию.

Mechanical snail 21.08.2012 05:24

Это подвижная цель. Когда я начинал работать в IT много лет назад, это всегда был «формальный аргумент, фактический параметр». Судя по приведенным здесь ответам, сейчас явно наоборот.

user207421 01.10.2015 09:21

@Mechanicalsnail Это важно, поскольку терминология не универсальна. Например, Фортран говорит, что «фиктивные аргументы» для «параметров» и «параметры» - это то, что другие называют «константами».

fuz 11.11.2015 02:17

Здесь мы говорим о функциях языка программирования, но соответствует ли этот ответ параметрам командной строки или аргументам командной строки? (например, см. справочную страницу getopt, где сказано: «Каждый параметр классифицируется как короткий вариант, длинный вариант, аргумент для параметра или параметр, не являющийся параметром»).

Tim 31.08.2016 11:50

Рад, что вы упомянули Стива МакКоннелла. Я узнал еще об одном парне, который разбирается в программном обеспечении вместе с Робертом Мартином.

RBT 02.12.2016 11:22

Я думаю, что независимо от того, находитесь ли вы в официальной среде или нет, вы должны стремиться использовать правильные термины. Я думаю, это довольно просто. Когда вы вызываете метод, вы передаете аргументы. Когда вы определяете метод, вы определяете параметры, которые будут принимать аргументы из вызова метода / функции. аргумент - независимая переменная, связанная с функцией и определяющая значение функции. параметр - предел или граница, определяющая объем конкретного процесса или действия.

jsquaredz 26.04.2017 17:28

это хороший ответ, потому что он кладет конец дискуссии и снова сосредотачивается на работе. Я согласен, что они оба делают одно и то же, но на разных языках у них разные имена. Это просьба ко всем молодым писателям, пишущим на новые языки, хотя бы один раз упомянуть, например, * function(arguments) or function(argument1, argument2, ..) *

Satinder Sidhu 11.10.2018 16:27
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
794
10
278 709
34
Перейти к ответу Данный вопрос помечен как решенный

Ответы 34

Параметр - это переменная в объявлении функции.

Аргумент - это фактическое значение этой переменной, которое передается функции.

Эти языки обычно ссылаются на список аргументов / параметров, переданный методу, как *args или ARGV, а не *params :-)

karatedog 27.08.2013 21:23

*params будет именем переменной, которая предназначена для хранения имен параметров (возможно, используется для самоанализа).

trss 24.08.2014 14:58

@karatedog И это полностью соответствует этому различию. Параметры именуются во время объявления, аргументы известны только во время вызова. Синтаксис *args объявляет параметрargs, значение которого является списком (имя и тип, известные во время объявления) аргументы (номер которого известен только во время вызова).

Emil Lundberg 25.11.2017 14:38

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

Просто установите: аргумент переходит в параметр, аргумент - это значение параметра.

Немного подробнее о: http://en.wikipedia.org/wiki/Parameter_(computer_science)#Parameters_and_arguments

Ответ принят как подходящий

Параметр - это переменная в определении метода. Когда вызывается метод, аргументы - это данные, которые вы передаете в параметры метода.

public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);

Аллитерирующая мнемоника, которая может помочь: аргументы актуальны. ;)

thSoft 24.10.2013 16:51

В ответе упоминается, что «Параметр - это переменная в определении метода», но было бы лучше сказать «объявление метода» [если кто-то делает различие между «объявлением» и «определением»]

nandan 25.01.2014 01:05

«Вы определяете параметры и приводите аргументы».

Greg M. Krsak 19.03.2014 00:08

параметр => когда мы определяем функцию, аргумент => когда мы вызываем этот метод. (ИСПРАВИТЕ МЕНЯ, ЕСЛИ Я НЕПРАВИЛЬНО.)

Prageeth godage 23.05.2014 08:23

Но даже если приведенный выше код кажется правильным, конечно, myParam технически является аргументом при использовании в теле MyMethod (и параметре в подписи)?

bytedev 23.05.2014 13:32

@nashwan myParam был бы аргументом, если бы он напрямую использовался для вызова другого метода в MyMethod (например, в public void MyMethod(string myParam) { AnotherMethod(myParam) }myParam является параметром MyMethod и аргументом AnotherMethod).

Max Nanasy 30.07.2014 23:26

@Prageeth нет функции в java. только методы

Ced 04.06.2016 03:28

Аргумент, переданный функции / методу, сохраняется в ее параметре.

Praym 23.08.2017 19:22

ну, когда вы «вызываете» функцию, вы делаете «аргумент», верно?

Mawardy 06.03.2019 22:34

Есть ли какая-нибудь литература, которая впервые определила эти термины и установила это значение для информатики?

Youda008 07.04.2019 23:24

Параметры - это Имена. Аргументы - это ценности.

Aziz Alto 23.04.2019 21:29

Я думаю: «Как я буду спорить с этой функцией на этот раз?» - с ней можно спорить разными способами (приводить разные аргументы в разных вызовах).

Matt Gumbley 17.01.2020 11:23

Второстепенный момент - в книгах по Java основной метод является основным (String [] args). Вместо этого он должен быть основным (String [] params).

MasterJoe 25.03.2020 10:04

Это мне помогает: это не main (paramc, paramv), НО, СОВЕРШЕННО main (argc, argv).

Pete Alvin 18.07.2020 16:45

@nandan Нам не нужно указывать переменную в объявлении метода. Достаточно только типа данных

Smart Manoj 05.10.2020 10:21

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

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

В Википедии уже есть статья на эту тему (см. Параметр), которая определяет и различает термины параметр и аргумент. Короче говоря, параметр является частью сигнатуры функции / процедуры / метода, а аргумент - это фактическое значение, предоставленное для параметра во время выполнения и / или на сайте вызова.

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

Although parameters are also commonly referred to as arguments, arguments are more properly thought of as the actual values or references assigned to the parameter variables when the subroutine is called at runtime.

Учитывая следующий пример функции в C, которая складывает два целых числа, x и y будут называться ее параметрами:

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

В месте вызова, использующем add, например, в примере, показанном ниже, 123 и 456 будут называться аргументы вызова.

int result = add(123, 456);

Кроме того, некоторые языковые спецификации (или формальная документация) предпочитают использовать исключительно параметр или аргумент и вместо этого использовать прилагательные, такие как формальный и действительный, для устранения неоднозначности между двумя случаями. Например, в документации C / C++ функция параметры часто упоминается как формальные аргументы, а вызов функции аргументы - как фактические аргументы. Для примера см. «Формальные и фактические аргументы» в Справочник по языку Visual C++.

+1 за объяснение того, как они обычно используются, а также за их формальные определения, а также за упоминание общего использования «формальных» и «фактических» аргументов / параметров, чтобы различать их без двусмысленности.

Mechanical snail 21.08.2012 05:22

Это отличное объяснение, но его почти невозможно понять по сравнению с простотой концепции. Параметр - это то, что принято, аргумент - это то, что вызывается. Это улица с односторонним движением.

ihodonald 01.05.2017 14:33

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

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

Но опять же, термин аргумент также перегружен, по крайней мере, в комплексном анализе.

Mechanical snail 21.08.2012 05:10

У меня есть параметр с утверждением, что они взаимозаменяемы. ;)

Wildcard 19.01.2017 10:42

Или даже проще ...

Аргументы!

Параметры отсутствуют!

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

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;
}

У них обоих нет большой разницы в использовании в 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 - фактическими аргументами.

Или может быть проще запомнить вот так, в случае необязательных аргументов для метода:

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

}

parameter - параметр, его значение, "argument" - аргумент :)

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

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

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

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

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

Это объяснение, которое мне давным-давно дал другой программист, и я подумал, что оно очень ясное и краткое. Я разместил это здесь по этой причине.

Paul Richter 20.03.2014 04:43

При редактировании меня часто пугает то, как люди забывают: структурные языки основаны на естественных языках.

На английском

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

«Аргумент» - это рассматриваемая позиция. Вы аргументируете свое мнение: вы рассматриваете аргумент.

Главное отличие

Тематическая роль аргумента - агент. Тематическая роль параметра - получатель.

Взаимодействия

Думайте о аргументе как о мужской части, делая параметр женской частью. Аргумент переходит в параметр.

использование

В определениях используется параметр как правило. В вызовах используется аргумент как правило.

Вопросов

Закончите предложение, чтобы сделать его менее противоречивым.

(A) Говоря об определении:

  1. Какой аргумент будет использован []?
  2. Что [] даст этот параметр []?

(B) Говоря о заклинании:

  1. Какой параметр вы будете использовать, []?
  2. Каким [] будет [] этот параметр?

Ответы

(А)

  1. на / в / против / с этим параметром
  2. аргумент (ы) ... взять

(В)

  1. и каковы некоторые примеры аргументов
  2. аргумент (ы) ... используется на / в / против / с

Перекрытия

Как вы понимаете, после ответа: в разговорной речи эти слова иногда дают одинаковые ответы!

Итак, как правило:

  • Обычно, если кому-то нужна информация о параметрах, они хотят знать больше о типе, имени переменной и т. д. Они могут запутаться, если вы приведете только пример аргументов.

    • Обычно, если кому-то нужна информация об аргументе, они хотят знать, какое значение вы передали функции или ее параметрам.

The use of the terms parameters and arguments have been misused somewhat among programmers and even authors. When dealing with methods, the term parameter is used to identify the placeholders in the method signature, whereas the term arguments are the actual values that you pass in to the method.

Набор средств сертификации MCSD (экзамен 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);

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

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

Пример 1. Торговые автоматы. Параметр - деньги, аргумент - 2 доллара США.

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

В чем же тогда аргумент? Что ж, если я положу 2 доллара в машину, тогда аргумент будет: 2 доллара - это очень специфический используемый ввод.

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

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

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

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

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

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

Вот в чем разница. Простой.

Смущенный?

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

System.out.println (344); vs int v = 344; System.out.println (v); что является аргументом / параметром в Java? Не могли бы вы мне помочь?

user12208242 24.06.2020 17:11

@ user12208242, возможно, задам новый вопрос по этим вещам. 344 - это аргумент. параметр println в этом случае выглядит как целое число.

BKSpurgeon 25.06.2020 02:39

В руководствах Oracle по Java это различие определяется следующим образом: «Параметры относятся к списку переменных в объявлении метода. Аргументы - это фактические значения, которые передаются при вызове метода. Когда вы вызываете метод, используемые аргументы должны соответствовать параметрам объявления по типу и порядку».

Более подробное обсуждение параметров и аргументов: https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html

Когда мы создаем метод (функцию) в Java, метод вроде этого ..

data-type name of the method (data-type variable-name)

В скобках это параметры, и когда мы вызываем метод (функцию), мы передаем значение этого параметра, которые называются аргументами.

Параметры - это переменные, полученные функцией. Следовательно, они видны в объявлении функции. Они содержат имя переменной и их тип данных. Аргументы - это фактические значения, которые передаются другой функции. вот почему мы можем видеть их при вызове функции. Это просто значения без их типа данных

Параметры и аргументы

All the different terms that have to do with parameters and arguments can be confusing. However, if you keep a few simple points in mind, you will be able to easily handle these terms.

  1. The formal parameters for a function are listed in the function declaration and are used in the body of the function definition. A formal parameter (of any sort) is a kind of blank or placeholder that is filled in with something when the function is called.
  2. An argument is something that is used to fill in a formal parameter. When you write down a function call, the arguments are listed in parentheses after the function name. When the function call is executed, the arguments are plugged in for the formal parameters.
  3. The terms call-by-value and call-by-reference refer to the mechanism that is used in the plugging-in process. In the call-by-value method only the value of the argument is used. In this call-by-value mechanism, the formal parameter is a local variable that is initialized to the value of the corresponding argument. In the call-by-reference mechanism the argument is a variable and the entire variable is used. In the call- by-reference mechanism the argument variable is substituted for the formal parameter so that any change that is made to the formal parameter is actually made to the argument variable.

Источник: Absolute C++, Уолтер Сэвич.

То есть,

Простой:

  • пARAMETER → пLACEHOLDER (Это означает, что заполнитель принадлежит имени функции и используется в теле функции)
  • АRGUMENT → АCTUAL VALUE (Это означает фактическое значение, которое передается при вызове функции)

Хороший крючок памяти

Tanckom 23.01.2019 23:24

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

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

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

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

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

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

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

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

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

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

// 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);

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

Я обдумал это и понял, что мой предыдущий ответ был неправильным. Вот гораздо лучшее определение

{Представьте себе коробку яиц: Пачку колбасных звеньев: И горничную.} Они представляют элементы функции, необходимой для подготовки, которая называется: (используйте любое имя: допустим, кулинария - это имя моей функции).

Служанка - это метод.

(Вы должны __ вызвать_ или попросить этого метод приготовить завтрак) (Процесс приготовления завтрака - это Функция, называемый Готовка) _

Яйца и сосиски Параметры:

(потому что количество яиц и количество сосисок, которые вы хотите съесть, равно __variable_.) _

Ваше решение - аргумент:

Он представляет собой __Value_ выбранного количества яиц и / или сосисок, которые вы готовите ._

{Мнемонический}

_ «Когда вы звоните горничной и просите ее приготовить завтрак, она __ спорит_ с вами о том, сколько яиц и сосисок вам следует съесть. Ее беспокоит ваш холестерин» __

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

Согласно книге Джозефа Алабахари «C# в двух словах» (C# 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
}

В некоторых человеческих языках (афайк итальянский, русский) для этих терминов широко используются синонимы.

  • параметр = формальный параметр
  • аргумент = фактический параметр

В моем университете профессора используют оба вида имен.

Это прекрасно объяснено в Параметр (компьютерное программирование) - Википедия

Грубо говоря, параметр - это тип, а аргумент - это экземпляр.

В определении функции f(x) = x*x переменная x является параметром; в вызове функции f(2) значение `` 2 является аргументом функции.

И Параметр - Википедия

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

Например, в определении такой функции, как

y = f(x) = x + 2,

Икс - это формальный параметр (параметр) определенной функции.

Когда функция вычисляется для заданного значения, как в

f(3): or, y = f(3) = 3 + 2 = 5,

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

Вам нужно вернуться к основам. И конструкторы, и методы имеют параметры и аргументы. Многие люди даже вызывают конструкторы особого вида методов. Так объявляется метод параметры используются:

      type name(parameters){
           //body of method
          }

А так объявляется конструктор параметры используются:

classname(parameters){
//body
}

Теперь давайте посмотрим на пример кода, с помощью которого мы вычисляем объем куба:

public class cuboid {
    double width;
    double height;
    double depth;

      cuboid(double w,double h,double d) { 
      //Here w,h and d are parameters of constructor
       this.width=w;
       this.height=h;
       this.depth=d;
       }

        public double volume() {
        double v;
        v=width*height*depth;
        return v;
        }
        public static void main(String args[]){
           cuboid c1=new cuboid(10,20,30);
           //Here 10,20 and 30 are arguments of a constructor
           double vol;
           vol=c1.volume();
           System.out.println("Volume is:"+vol);

           }
    }

Итак, теперь вы понимаете, что когда мы вызываем конструктор / метод объекта в каком-то месте позже в коде, мы передаем аргументы, а не параметры. Следовательно, параметры ограничены местом, где определен логический объект, но аргументы вступают в игру, когда физический объект объект фактически создается.

Параметр - это переменная в объявлении функции.

Аргумент - это фактическое значение этой переменной, которое передается функции.

Параметр - это Переменная в определении функции
Аргумент - это ценить параметра

<?php

    /* define function */
    function myFunction($parameter1, $parameter2)
    {
        echo "This is value of paramater 1: {$parameter1} <br />";
        echo "This is value of paramater 2: {$parameter2} <br />";
    }

    /* call function with arguments*/
    myFunction(1, 2);

?>

Поскольку мой фон и основная среда - C, я приведу некоторые утверждения / цитаты по этой теме из фактического стандарта C и важного справочника, также от одного из разработчиков C, который часто цитируется и обычно рассматривается как первый неофициальный стандарт C:


Язык программирования C (2-е издание) Брайана В. Кернигана и Денниса М. Ричи (апрель 1988 г.):

Page 25, Section 1.7 - Functions

We will generally use parameter for a variable named in the parenthesized list in a function definition, and argument for the value used in the call of the function. The terms formal argument and actual argument are sometimes used for the same distinction.

ISO / IEC 9899: 2018 (C18):

3.3

argument

actual argument

DEPRECATED: actual parameter

expression in the comma-separated list bounded by the parentheses in a function call expression, or a sequence of preprocessing tokens in the comma-separated list bounded by the parentheses in a function-like macro invocation.


3.16

parameter

formal parameter

DEPRECATED: formal argument

object declared as part of a function declaration or definition that acquires a value on entry to the function, or an identifier from the comma-separated list bounded by the parentheses immediately following the macro name in a function-like macro definition.

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

Тем не менее, с точки зрения функции:

  • параметр - это переменная, указанная в скобках в определении функции.
  • аргумент - это значение, которое отправляется функции при ее вызове.
  • Параметр:
    • Значение, которое уже «встроено» в функцию.
    • Параметры можно изменить, чтобы функцию можно было использовать для других целей.
  • Аргумент:
    • Вход в функцию
    • Переменная, влияющая на результат функции.

Источник

Другие вопросы по теме