Реферат: Распределение памяти
.
адрес фактического параметра n
Что представляют собой адреса в списке? Это зависит от языка
и от типа параметра. Нише перечислены типы параметров, которые
мы будем рассматривать:
1) вызов по ссылке;
2) вызов по значению;
3) вызов по результату;
4) фиктивные аргументы;
5) вызов по имени;
6) имена массивов в качестве фактических параметров;
7) имена процедур в качестве фактических параметров.
Вызов по ссылке ( by reference )
Этот тип параметра самый простой для реализации.
Фактический параметр обрабатывается во время выполнения
программы перед вызовом; если он не является переменной или
константой, он вычисляется и запоминается во временной ячейке.
Затем вычисляется адрес ( переменной, константы или временной
ячейки ), и этот адрес передается вызываемой процедуре.
Вызываемая процедура использует его для ссылки на ячейку (ячейки),
содержащую значение.
Вызов по значению ( by value )
При этом типе соответствия формального и фактического
параметров вызываемая процедура имеет ячейку, выделенную в ее
области данных для значения формального параметра этого типа. Как
и при вызове по ссылке, адрес фактического параметра вычисляется
перед вызовом и передается вызываемой процедуре в списке
параметров. Однако перед фактическим началом выполнения процедура
выбирает значение по адресу и заносит его в свою собственную