Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
ВнизОбласть видимости и время жизни при рекурсии. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.015 c