Организация вызова функции
Форма вызова функции:
<имя_функции>(<список_фактических_параметров>);
Если при описании функции список формальных параметров отсутствовал, то при вызове функции <список_фактических_параметров> так же должен отсутствовать. При вызове функции ей передается управление. Опишем организацию вызова функции.
Каждая строка в программе определяется своим адресом. Строка вызывающей функции, в которой вызывается другая функция, также имеет свой адрес, называемый точкой вызова функции. При вызове функции,в ОП организуется структура, которая называется стеком.
При вызове функции стек заполняется следующим образом:
1. В стек помещается адрес вызова функции.
2. В стек копируются значения переданных в функцию фактических
параметров.
3. Выполняются операторы тела функции.
4. После того как функция завершила свою работу из стека в ячейки ОП, выделенные под переменные, являющиеся фактическими параметрами, копируются (возвращаются) скопированные туда их же значения при вызове функции.
5. Из стека забирается адрес точки вызова функции, и по этому адресу происходит возврат в вызывающую функцию.
Затем выполняются операторы вызывающей функции, следующие за строкой вызова функции.
Дата добавления: 2015-08-08; просмотров: 556;