Инструкции

Справочный раздел

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

Разделы инструкций

В сети

Пользователей: 114
Из них просматривают:
Аналоги: 35. Видео: 2. Даташиты: 23. Доска объявлений: 1. Инструкции: 2. Кроссворд: 1. Магазин: 2. Новости: 12. Обзор: 2. Остальное: 5. Партнёры: 1. Программы: 7. Производители: 4. Профиль пользователя: 4. Расчёты: 1. Торрент: 1. Форум: 10. Чат: 1.
Участников: 3
Гостей: 111

an , Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

Локальность и глобальность

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

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

 
Таким образом, все объявления, сделанные в начале модуля, «видимы» и доступны для любых функций этого модуля. Такие объявления называют глобальными для данного модуля. Итак, каждое объявление может быть локальным и глобальным одновременно, все зависит от точки отсчета.

 
Чтобы обеспечить видимость глобальных объявлений модуля из других модулей, необходимо вынести их в заголовочный файл, который подключить директивой #include в нужном модуле. Объявлять переменные в заголовочном файле - неверная практика, т.к. это может привести к многократному переобъявлению одних и тех же идентификаторов в различных модулях, т.е. всюду, где заголовочный файл будет подключен. Переменные и так по умолчанию считаются «видимыми» для других модулей, хотя для того, чтобы воспользоваться переменной из стороннего модуля, необходимо объявить ее внешней.

 
Кроме видимости, стоит упомянуть еще о действительности значений глобальных переменных. Считается, что глобальная переменная сохраняет свое значение в пределах блока своего описания. То есть, если значение глобальной переменной Cnt будет изменено функцией  foo(), то это значение будет действительно и для вызванной следом функции fee().

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Диэлектрические и диамагнитные отвертки можно выпилить из старых стеклотекстолитовых плат.