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

Рубрика: Delphi с нуля

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

Существует несколько видов параметров:

  • значение;
  • константа;
  • переменная;
  • нетипизированные константа и переменная.

Параметры, перед которыми в заголовке подпрограммы отсутствуют слова var или const и за которыми следует их тип, называются параметрами-значениями. Например, в следующем описании а и g являются параметрами-значениями:

  1. procedure P1(a: real; g: integer);

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

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

  1. procedure Р2(const х, у: integer);

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

Параметры, перед которыми в заголовке подпрограммы стоит слово var и за которыми следует их тип, называются параметрами-переменными. Например, в следующем описании d и f являются параметрами-переменными:

  1. function F1(var d, f: real; q17: integer): real;

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

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

Группы параметров в описании подпрограммы разделяются точкой с запятой.

Если Вам интересна эта запись, Вы можете следить за ее обсуждением, подписавшись на RSS 2.0 .

3 комментария к “Параметры и аргументы в Delphi”

  • таиланд
    6 октября, 2011, 11:02

    Извените, что пишу не по теме, но я добавил ваш сайт к себе в RSS-Reader, но новые записи, почемуто, не отображаются =(

    Это я делаю что то не так или у вас глючит rss фид?

  • Сергей Бойко
    6 октября, 2011, 18:15

    Доброе время суток =) Все работает, не переживайте!

  • lizametrika
    15 октября, 2011, 12:00

    Хороший сайт, отличный материал. Обновляйте почаще.

Оставить комментарий или два

*