Лекция: Область действия имен.

 

Любая подпрограмма представляет собой блок со своей областью описаний. Она может содержать внутри этого блока описания других процедур и функций, а также обращения к ним. Объекты, описанные внутри какого-либо блока, являются по отношению к нему локальнымии не доступны внешним блокам. На них можно ссылаться только внутри блока, в котором они описаны. Под объектами понимаются имена констант, типов, переменных, процедур, функций. Объекты, описанные во внешних блоках и не описанные во внутренних, являются глобальными по отношению к внутренним и доступны как во внешних блоках, так и во внутренних. При совпадении имен глобальных и локальных переменных, локальные переменные отменяют действия глобальных в пределах области своего действия.

 

 

На рисунке схематично представлены области действия отдельных идентификаторов:

Y — локальная переменная по отношению к блоку 4, недоступна в блоках 1,2,3.

K, L — локальная переменная для блока 2, недоступна в блоках 1,3,4.

C — глобальная переменная по отношению к блоку 3, недоступна в блоках 1 и 2.

B, D- глобальные переменные для блоков 2,3,4.Доступны в блоках 1,2,3,4.

T — общий тип.

Идентификатор А обозначает две разные переменные: А — областью действия которой являются блоки 1 и 2, и переменная А'- область действия которой блоки 3 и 4. То же самое с именем Х: одна переменная Х — с областью действия 1,2 и 3 блоки и переменная Х', которая действует только в блоке 4.

 

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

       
   

еще рефераты
Еще работы по информатике