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

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

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

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

Резюме

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

Ответы [ 31 ]

0 голосов
/ 13 июня 2017

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

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

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

...