Реферат: Распределение памяти

точно так же, как любая переменная, локализованная в процедуре.

Таким образом, нет никакого способа изменить в процедуре значение

фактического параметра.

Вызов по результату ( by result )

В языке АЛГОЛ W для любого формального параметра Х,

объявленного параметром RESULT, справедливо следующее:

1. Для параметра Х отводится ячейка в области данных

процедуры. Эта ячейка используется в процедуре как локализованная

ячейка для переменной Х.

2. Как и в случае параметра VALUE, при рызоре при вызове

процедуры вычисляется и передается адрес фактического параметра.

3. Когда выполнение процедуры заканчивается, полученное

значение Х запоминается по адресу, описанному в п.2.

Другими словами, параметр RESULT есть переменная,

локализованная в процедуре, значение которой при выходе

запоминается в соответствующем фактическом параметре (который

должен быть конечно, переменной ). Понятие RESULT было

предназначено для того, чтобы дополнить в АЛГОЛе вызов по имени

( который описан ниже ), так как последний весьма неэффективен и

обладает большими возможностями, чем это необходимо в

большинстве случаев.

Фиктивные аргументы

В развитых языках следующие фактические параметры

обрабатываются по-разному:

1) константы;

2) выражения, которые не являются переменными;

З) переменные, чьи характеристики отличаются от характеристик

указанных для соответствующих формальных параметров.

Для такого фактического параметра в вызывающей процедуре

К-во Просмотров: 817
Бесплатно скачать Реферат: Распределение памяти