Поделиться через


Область и " видимость "

"Видимость" идентификатора задает части программы, в которой оно может ссылаться - его "область". Идентификатор отображаются (т е может использоваться) только в частях программы включенной своей "область", которая может быть ограничена (в порядке возрастания restrictiveness) к файлу, функций, отключение или прототипом функции, в котором она отображается.Область идентификатора части программы, в которой имя может использоваться.Это иногда называется "лексической области." 4 Типа области: функция файл, и прототип функции.

Все идентификаторы, кроме метки имеют свои область, указанную уровня, на котором объявление происходит.Следующие правила для каждого типа области управляющие видимостью идентификаторов в рамках программы:

  • Область файла
    Описатель декларатора или типа для идентификатора с областью файла появляется за пределами любого блока или списка параметров и доступными из любого размещения в перевода после объявления.Имена идентификаторов с областью файла часто называются "глобальным" или "external". Область глобального идентификатора начинается с точки зрения его определения или объявления и заканчивается в конце единицы измерения.

  • Область функций
    Метка единственный тип идентификатора, который имеет область действия функции.Метка объявлена явно его использованием в выписке.Имена меток должны быть уникальными внутри функции.(Дополнительные сведения о метках и именах метки см. в разделе Goto и заданные выписки.)

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

  • Область Функция-прототипа
    Описатель декларатора или типа для идентификатора с областью функция-прототипа отображается внутри списка announcements параметра в прототипе функции (не части объявления функции).Завершает свою область действия в конце декларатора функции.

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

См. также

Основные понятия

Время существования, область видимости, и переключателя