Макросы
#define идентификатор! (идентификатор'1,. .. ) строка
Пример
#define abs(A) (((A) > 0) ? (А) . -(А)) Каждое вхождение выражения abs(arg) в тексте программы заменяется на ((arg) > 0) ? (arg) : -(arg), причем параметр макроопределения А заменяется на arg.
Пример
#define nmem (P, N)\
(Р) -> p_mem [N] .u_long Символ \ продолжает макроопределение на вторую строку. Это макроопределение уменьшает сложность выражения, описывающего массив объединений внутри структуры.