Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Передача параметров по ссылке. Параметры-переменные



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


Рис. 9. Механизм передачи параметров по ссылке

Для указания компилятору на необходимость передачи параметра по ссылке перед описанием соответствующего параметра указывается специальный модификатор параметра — ключевое слово Var (от англ. Variable — переменный):

Procedure (..., Var <Параметр>: <Тип параметра>,...);

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

Листинг 2.21. Передача параметров по ссылке

Program ChangingParams2;

Var

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

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

параметром, передаваемым по ссылке}

Begin

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

процедуру. Одновременно с этим изменяется значение

переменной, переданной в качестве параметра}

end;

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

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

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

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

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

равным 154}

End.

Параметры, передаваемые по ссылке, называют параметрами-переменными (от англ. Variable parameter — параметр-переменная).

Вопросы с ответами для повторения по разделу 2





Дата публикования: 2014-11-02; Прочитано: 328 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...