ВУЗ:
Составители:
Рубрика:
108
алгоритма затуманивается копированием реальных (фактических)
параметров процедур в абстрактные (формальные) параметры и обратно:
{Выводим массив C}
Arr := C; {Формальному параметру Arr присваивается
фактический параметр C}
NumEl := nC; {Формальному параметру NumEl присваивается
фактический параметр nC}
PrintArray; {Собственно вызов процедуры PrintArray}
В современных языках программирования имеется встроенный
механизм, позволяющий передавать внутрь процедур исходные данные, а
из процедур получать результаты, не используя при этом глобальные
переменные. Этот механизм называется «параметры подпрограмм»”.
Параметры подпрограмм: параметры–значения
и параметры–переменные
Для передачи внутрь процедур и функций данных для обработки
используются параметры. Основных типов параметров в Паскале два –
параметры–значения и параметры–переменные.
Параметры–значения подобны нашему решению с абстрактным
массивом Arr и переменной NumEl: при передаче данных в параметры–
значения копируются данные из фактических параметров. Заметим, что
обратно из параметра–значения в фактический параметр ничего не
копируется (этим они отличаются от нашего решения проблемы).
Параметры–переменные представляют собой «виртуальный
фактический параметр». При передаче такого параметра внутрь
процедуры передается ссылка на фактический параметр – адрес
переменной, в которой хранится фактический параметр. Таким образом,
формальный параметр, по сути, является псевдонимом фактического
параметра. Используя в процедуре формальный параметр–переменную,
мы на самом деле работаем с фактическим параметром (через адрес
переменной, переданный внутрь процедуры).
Страницы
- « первая
- ‹ предыдущая
- …
- 106
- 107
- 108
- 109
- 110
- …
- следующая ›
- последняя »
