Справочная система C guide

       

Макросы


Замечание. Во избежание ошибок при вычислении выражений параметры макроопределения необходимо заключать в скобки.

#define идентификатор! (идентификатор'1,. .. ) строка

Пример

#define abs(A) (((A) > 0) ? (А) . -(А)) Каждое вхождение выражения abs(arg) в тексте программы заменяется на ((arg) > 0) ? (arg) : -(arg), причем параметр макроопределения А заменяется на arg.

Пример

#define nmem (P, N)\

(Р) -> p_mem [N] .u_long Символ \ продолжает макроопределение на вторую строку. Это макроопределение уменьшает сложность выражения, описывающего массив объединений внутри структуры.

Содержание раздела