16.6.1 Область действия блока

На верх  Назад  Вперёд

Область действия переменной, декларированной в части объявлений блока, вступает в силу с момента объявления и до конца блока. Если блок содержит другой блок, в котором повторно объявлен идентификатор, то внутри этого блока, будет действительна другое объявление. При выходе из вложенного блока, снова действительна первоначальное объявление. Рассмотрим следующий пример:

Program Demo;

Var X:Real;

{ X является вещественной переменной}

Procedure NewDeclaration

Var X:Integer; {Переобъявляем X как целое}

begin

//X:=1.234;{При попытке компиляции, даст сообщение об ошибке}

X:=10; {Правильное присвоение}

end;

{Здесь и далее X снова вещественное}

begin

X:=2.468;

end.

В этом примере, внутри процедуры, переменная Х будет целой. Она имеет свое собственное место для хранения, независимое от переменной X вне процедуры.