logo
Харви Дейтел, Пол Дейтел Как программировать на С++ / 02-Deitel-Стр-115-214

3.11. Правила, определяющие область действия

Область действия идентификатора — это часть программы, в которой на идентификатор можно ссылаться. Например, когда мы объявляем локаль­ную переменную в блоке, на нее можно ссылаться только в этом блоке или в блоке, вложенном в этот блок. Существуют четыре области действия иден­тификатора — область действия функция, область действия файл, область действия блок и область действия прототип функции.

Идентификатор, объявленный вне любой функции (на внешнем уровне), имеет область действия файл. Такой идентификатор «известен» всем функ­циям от точки его объявления до конца файла. Глобальные переменные, описания функций и прототипы функций, находящиеся вне функции — все они имеют областью действия файл.

Метки (идентификаторы с последующим двоеточием, например, start:) — единственные идентификаторы, имеющие областью действия функцию. Метки можно использовать всюду в функции, в которой они появились, но на них нельзя ссылаться вне тела функции. Метки используются в структурах switch (как метки case) и в операторах goto (смотри главу 18 «Другие темы»). Метки — относятся к тем деталям реализации, которые функции «прячут» друг от друга. Это скрытие — более формально называемое скрытие (утаи-