Язык С


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


Функции и внешние переменные, входящие в состав "C"-программы, не обязаны компилироваться одновременно; программа на исходном языке может располагаться в нескольких файлах, и ранее скомпилированные процедуры могут загружаться из библиотек. Два вопроса представляют интерес: Как следует составлять описания, чтобы переменные пра- вильно воспринимались во время компиляции ? Как следует составлять описания, чтобы обеспечить пра- вильную связь частей программы при загрузке ?


    Вся C-программа необязательно компилируется одновремен- но; исходный текст программы может храниться в нескольких файлах и ранее скомпилированные процедуры могут загружаться из библиотек. Связь между функциями может осуществляться как через явные обращения, так и в результате манипулирования с внешними данными. Поэтому следует рассмотреть два вида областей действия: во-первых, ту, которая может быть названа лексической об- ластью действия идентификатора и которая по существу являет- ся той областью в программе, где этот идентификатор можно использовать, не вызывая диагностического сообщения "неопре- деленный идентификатор"; и во-вторых, область действия, ко- торая связана с внешними идентификаторами и которая характе- ризуется правилом, что ссылки на один и тот же внешний иден- тификатор являются ссылками на один и тот же объект.



      Содержание раздела