Лекция: Передача параметров по значению

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

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

 


Рис. 8. Механизм передачи параметров по значению

Листинг 2.20. Передача параметров по значению

Program ChangingParams1;

Var

I: Integer; {Описание целочисленной переменной}

Procedure Proc (A: Integer); {Описание процедуры Proc с одним

параметром, передаваемым по значению}

Begin

А := 154; {Изменение значения параметра, переданного в процедуру.

Никаких изменений данных вызывающего фрагмента не

происходит}

end;

Begin {Начало раздела описания логики программы}

I := 200; {Изменение значение переменной I}

Proc (I); {Вызов процедуры Proc, в качестве параметра передается

Значение переменной I, после окончания работы

процедуры значение переменной сохраняется}

Proc(80); {Вызов процедуры Proc, в качестве параметра

передается целочисленная константа 80, что допустимо

при передаче параметров по значению}

End.

еще рефераты
Еще работы по информатике