Директивы препроцессора

Исходный файл обычно включает директивы препроцессора – это указания для предварительной обработки текста исходного файла перед его компиляцией. Директивой является строка, начинающаяся с символа #.

Директивы включения файлов позволяют подключить общие файлы заголовков с расширением “.h”, через которые осуществляется доступ к стандартным библиотекам, например,

#include <stdio.h> /* функции стандартного ввода-вывода */

#include <conio.h> /* функции консольного ввода-вывода */

#include <math.h> /* стандартные математические функции */

Директивы подстановки имен позволяют программисту создавать собственные символические константы и макроопределения для фрагментов исходного текста программы по формату

#define идентификатор текст

при этом в конце директивы не ставится точка с запятой (;), поскольку это не оператор, а текст подстановки, например,

#define PI 3.14159 /* символическая константа */

#define AREA (PI*r*r) /* макроопределение формулы */

#define AREA1(r) (PI*(r)*(r)) /* макроопределение функции */

Круглые скобки в макроопределении позволяют избежать побочных эффектов, связанных с порядком вычисления выражений с применением макрокоманд. Например, применение макроопределений без скобок при подстановке в выражение 2/AREA примет вид 2/PI*r*r, что неверно, а подстановка 2/(PI*r*r) верна. Аналогично, выражение 2/AREA1(r+5) с макроопределением без скобок имеет ошибочный вид 2/PI*r+5*r+5, а верной является подстановка 2/(PI*(r+5)*(r+5)).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: