Файлы с исходным кодом и исходные программы
Исходную программу можно разделить на один или несколько исходных файлов. Когда такие файлы передаются компилятору, они называются блоками трансляции.
Синтаксис
блок-трансляции:
внешнее-объявлениеблок-трансляции внешнее-объявление
внешнее-объявление:
определение-функцииобъявление
В разделе Обзор объявлений описывается синтаксис нетерминальных объявлений (declaration), а в Справочнике по препроцессору поясняется, как происходит обработка блока трансляции.
Примечание
Описание соглашений о синтаксисе ANSI см. во введении к Кратким сведениям о синтаксисе языка C.
Компонентами блока трансляции являются внешние объявления, которые включают в себя определения функций и объявления идентификаторов. Эти объявления и определения могут находиться в исходных файлах, файлах заголовков, библиотеках и других файлах, которые необходимы программе. Чтобы создать программу, необходимо скомпилировать каждый блок трансляции и скомпоновать полученный объектный файл.
Исходная программа языка C представляет собой набор директив, директив pragma, объявлений, определений, блоков операторов и функций. Для того чтобы все они были допустимыми компонентами программы на языке Microsoft C, они должны иметь синтаксис, описанный в настоящей книге. При этом они могут находиться в программе в любом порядке (в пределах описанных здесь правил). Однако от расположения этих компонентов в программе зависит то, каким образом в программе будут использоваться переменные и функции. (Дополнительные сведения см. в разделе Время существования, область, видимость и компоновка.)
Исходные файлы не должны содержать исполняемых операторов. К примеру, в один исходный файл можно поместить все определения переменных, а затем в другом исходном файле, в котором эти переменные используются, объявить ссылки на них. Этот метод позволяет легко находить и при необходимости изменять определения. По этой же причине константы и макросы часто организуются в отдельные файлы — так называемые включаемые файлы, или файлы заголовка. По мере необходимости на них можно ссылаться из исходных файлов. Сведения о макросах и включаемых файлах см. в Справочнике по препроцессору.