Внешняя статическая декларация - K & R2 - PullRequest
0 голосов
/ 02 сентября 2018

Я читаю «Язык программирования C», второе издание, от K & R и на странице 83, раздел 4.6 «Статические переменные». Состояние K & R:

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

Действительно ли K & R допустила ошибку, указав неверную семантику для внешнего статического объявления? Применение статики к внешней переменной или функции не меняет область действия. Мне кажется, что вышеприведенное предложение в точности совпадает с предложением на стр. 80, раздел 4.4 «Правила области действия»:

Область действия внешней переменной или функции длится от точки в котором он объявляется до конца файла, скомпилированного.

1 Ответ

0 голосов
/ 02 сентября 2018

На странице 227 K & R описывает два вида области: лексическую область и область, связанную с внешней связью. Таким образом, они используют «охват» в качестве более общего термина, чем текущий стандарт C. Их лексическая область действия - это то, что текущий стандарт C называет «областью действия», а их более широкое использование области действия - то, что текущий стандарт C называет связыванием.

...