Инструкции

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

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

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

В сети

Пользователей: 228
Из них просматривают:
Аналоги: 74. Даташиты: 102. Инструкции: 3. Новости: 13. Остальное: 7. Партнёры: 1. Производители: 1. Профиль пользователя: 3. Форум: 23. Чат: 1.
Участников: 3
Гостей: 225

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

Партнёры


Партнёры

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

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

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

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

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

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

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

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

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

Разное

Интересно

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