русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Время жизни и область видимости

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

Объявление объекта на внешнем уровне – это либо его создание, либо ссылка на уже созданный в другом файле или в этом же файле ниже объект. Объявление объекта на внутреннем уровне – это всегда его создание.

Время жизни объекта – это интервал времени выполнения программы, в течение которого он существует в памяти ЭВМ. Время жизни может быть либо глобальное, либо локальное.

Объекты с глобальным временем жизни имеют закреплённую за ними область оперативной памяти, в которой хранится их значение в течение всего времени выполнения программы. Это либо объекты, объявленные на внешнем уровне (вне функций), либо объекты, объявленные на внутреннем уровне как статические.

Объекты с локальным временем жизни имеют закреплённую за ними область оперативной памяти, в которой хранится их значение, в течение времени выполнения блока, в котором они объявлены. Это объекты, объявленные внутри блоков. При входе в блок под эти объекты выделяется память, при выходе из блока память освобождается. При повторном входе в блок память под объект выделяется снова, но это может быть совершенно иная область памяти.

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

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

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

Локальную область действия имеют объекты, объявленные внутри какого-нибудь блока, их область действия – от точки объявления до конца блока. Если имя локального объекта совпадает с именем глобального объекта, то внутри локального блока глобальный объект становится недоступным.

Локальную область действия имеют также формальные параметры функции, для которых блоком, в котором они объявлены, является тело функции.

Просмотров: 494


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.