Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.27;
Скачать: CL | DM;

Вниз

Область видимости и время жизни при рекурсии.   Найти похожие ветки 

 
John Doe ©   (2005-11-07 09:31) [0]

Вот код:

procedure MyProc(n);
var i: Integer;

begin

 if n<>2 then MyProc(n-1);

 for i:=1 to n-1 do
   begin
     .....
     .....
     if n<>2 then MyProc(n-1) else Exit;
     ....
     ....
   end;

end;

У меня там в цикле - рекурсия,и появился вопрос...
А запоминает ли прога значение i,для каждой вложенной процедуры,либо значение i перекрывается соответствующим значением,при следующем шаге рекурсии.
То есть значение i для MyProc(n),не будет ли затерто,при вызове MyProc(n-1) внутри MyProc(n)?

Учитывая что переменная i обьявлена не глобальной,а локальной.


 
Anatoly Podgoretsky ©   (2005-11-07 09:36) [1]

Область видимости ограничивается данной процедурой, это локальная переменная, сколько раз войдешь в данную функцию, столько локальных переменных и получишь.


 
John Doe ©   (2005-11-07 10:52) [2]

Ясно.
Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2005.11.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.064 c
14-1131332408
Карелин Артем
2005-11-07 06:00
2005.11.27
Еще вопрос по асе 3030315. Сколько может стоить она?


9-1120840060
Dgt
2005-07-08 20:27
2005.11.27
Привет.Хочу сделать как в контре. Glscene


2-1131628594
markers
2005-11-10 16:16
2005.11.27
Выполнить консольную команду и вернуть результат?


4-1127290638
umbra
2005-09-21 12:17
2005.11.27
как узнать открыт файл или нет?


2-1131540149
max999
2005-11-09 15:42
2005.11.27
Вопрос на тему "иконка в трее" :)