![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Заметим, что понятия глобальные и локальные следует понимать относительно — по отношению к конкретной процедуре или функции. ⇐ ПредыдущаяСтр 6 из 6
Продемонстрируем это следующим примером. В данном примере АО, ВО, СО будут глобальными для всех процедур и функций, используемых в программе. А1, В1.С1 будут глобальными для всех процедур и функций, описанных внутри процедуры Р1 (в данном примере для процедуры Р2), и одновременно локальными для самой процедуры Р1. Данные А2, В2, С2, объявленные в самой внутренней процедуре Р2, будут только локальными. Сформулируем правила определения области действия для идентификаторов процедур и функций:
Если первых три правила поясняются рассмотренным примером, то для пояснения четвертого приведем еще один пример. То есть, объявление во внутренней процедуре данных с идентификаторами, совпадающих по имени с данными внешних процедур, отменяет действие внешних идентификаторов и вводит свои локальные описания, независимо от того совпадают они по типу, или нет. Локальные данные создаются при вызове процедуры/функции и существуют только во время ее выполнения. Выделение памяти для локальных данных происходит автоматически в начале выполнения процедуры/функции, а освобождение этой памяти — как только выполнение процедуры/функции заканчивается. Операторы, расположенные в теле процедуры/функции могут обращаться к ее локальным данным (константам и переменным) и изменять их значения. Однако следует помнить, что значения локальных данных существуют пока процедура/функция работает. Как только она заканчивается, все изменения значений локальных данных, сделанные операторами процедуры/функции, исчезнут вместе с освобождением памяти.
|