Различные объектные модули могут объединяться с помощью редактора связи. Препроцессорная директива имеет вид:
#include<имя файла>
#include”имя файла”
Директива #include заменяется в тексте программы содержимым файла с заданным именем. Если заключена в <>, то искать файл в стандартном каталоге системы.
Понятие текущего и стандартного каталога, а также действия в случае не обнаружения файла определяются реализацией. Как правило, если файл не найден, то поиск продолжается в стандартных каталогах. Допускаются вложенные директивы #include.
Пример: следующие 2 директивы указывают компилятору на необходимость подключить заголовочный файл стандартной библиотеки ввода вывода:
#include<stdio.h>
#include”stdio.h”
Подключаемые файлы также могут иметь директивы #include. Если это имеет место, то говорят о вложенных подключениях.
Пример: данная программа подключает файл, который в свою очередь подключает др. файл.
/* файл программы*/
#include<stdio.h>
int main(void)
{
#include “one”
return 0;
}
/*подключение файла one/
printf(“это от 1-ого подключения файла \n”);
#include”two”
/*подключаемый файл two/
printf(“это от 2-ого подключаемого файла \n”);