Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Си массивы функции препроцессор.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
38.42 Кб
Скачать

5.3. Директива # include. Включение файла.

Директива препроцессора # include позволяет включать отдельно созданные файлы в текущий файл. Директива выдается в двух видах:

# include <имя файла> (1)

# include “имя файла”. (2)

При наличии директивы # include строка первого или второго вида заменяется содержимым файла с именем «имя_файла».

Угловые скобки сообщают препроцессору, что файл необходимо искать в одном или нескольких стандартных системных каталогах. В том случае, когда имя файла заключается в кавычки, поиск осуществляется либо в текущем каталоге, либо в каком-то другом указанном каталоге.

Пример:

# include <math.h> поиск осуществляется в системном каталоге

# include “max.h” поиск осуществляется в текущем каталоге

# include “D:\Dir1\ max.h” поиск осуществляется в каталоге Dir1 на диске D.

Если файл с указанным именем не обнаружен в текущем или указанном каталогах, препроцессор продолжит поиск в стандартных каталогах, в случае неудачи (файл не найден) выдается соответствующее сообщение.

Используя директиву # include <имя файла> или # include “имя файла” можно подключить либо стандартные, либо нестандартные заголовочные файлы. Перечень обозначений заголовочных файлов для работ с библиотеками компилятора утвержден стандартом языка. Заголовочные нестандартные файлы являются эффективным средством при модульной разработке программ. В этом случае связь между модулями, размещаемыми в разных файлах, реализуется как с помощью параметров, так и через внешние объекты, являющиеся глобальными для всех или нескольких модулей. Описания внешних объектов и прототипы функций помещаются в одном головном файле. Этот головной файл с помощью директивы # include включается во все модули, где внешние объекты необходимы.

С помощью директивы # include можно подключать файлы пользователя.

Пример: # include “GGG.CPP”.

Теперь на очень простом примере рассмотрим использование директивы # include для подключения заголовочных файлов и файлов с программами пользователя.

Задача.

Даны три целых числа a, b, c. Получить квадрат максимального из них. Определим функцию max_, позволяющую выбрать наибольшее значение из двух переменных. В заголовочный файл поместим следующие инструкции:

/* заголовочный файл “head1.h”*/

int max_(int, int); //прототип функции

# define SQR(x) ((x)*(x)) //макрофункция возведения в квадрат

extern int max; //внешняя переменная с именем max, эта директива может быть опущена.

Текст функции с именем max_, находящей наибольшее значение для двух переменных:

/* файл max_.CPP*/

int max_(int a, int b);

{ if (a>b)

max=a;

else

max=b;

return max;

}

Примечание: переменная с именем max может быть опущена, она введена только для того, чтобы показать связь двух функций через внешнюю переменную.

/* файл Mod1.CPP содержащий текст основной функции*/

int max; /*глобальная переменная*/

# include “head1” /* подключается заголовочный файл пользователя*/

# include “ max_.CPP” /* подключается файл с текстом функции*/

void main ( )

{ int a=9, b=-7, c=5;

int d;

max_(a, b);

d=max_(max, c); /*d=9*/

d=SQR(d); /*d=81*/

}