Главная страница Библиотека (скачать книги) Скачать софт Введение в программирование Стандарты для C++ Уроки по C# Уроки по Python HTML Веб-дизайн Ассемблер в среде Windows ActiveX Javascript Общее о Линукс Линукс - подробно Линукс - новое Delphi Паскаль для начинающих Турбопаскаль Новости Партнеры Наши предложения Архив новостей |
Способы передачи параметров Среди стандартных процедур Паскаля мойсно найти и такие, которые изменяют само значение параметра — например, inc(). Как самому создать такую процедуру? Пример 11.3. Названия формальный параметр и фактический параметр подчеркивают, что при передаче параметров таким образом (со служебным словом var) переменная для формального параметра не создается и память не выделяется. Это имя только формально используется для описания действий, которые будут совершены с данной переменной в подпрограмме. Фактически вместо этого имени используется имя переменной, подставленное при вызове подпрограммы. Заметим, что при вызове процедуры, изменяющей значения параметров, в качестве фактического параметра нельзя использовать выражения. Фактическим параметром может быть только имя переменной! Это связано с тем, что в такую процедуру передается не значение, а адрес ячейки памяти, в которой хранится переменная- параметр. Если подставить выражение, то Паскаль сообщит об ошибке — ведь выражение не имеет адреса! Способ передачи параметров, изменяющий их значения, называется передачей параметров по адресу. Обычный способ, при котором фактический параметр копируется в отдельную ячейку памяти и который позволяет в качестве параметра передавать значеция выражения, называется передачей параметров по значению. Один и тот же вспомогательный алгоритм может получать параметры обоими способами — часть по адресу, остальные — по значению.
СОВЕТ
Задание 11.1. Задание 11.2.
Выводы
Контрольные вопросы
|
||
Библиотека программиста. 2009. |
|