Энциклопедия Turbo Pascal. Главы 1-4
Страница 47. Параметры-значения


Параметры-значения

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

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

 
« Предыдущая статья