If константное_выражение
Последовательность операторов программного кода Elif 2_ константное_выражение Я_последовательность операторов программного кода Elif 3_ константное_выражение Я_последовательность операторов программного кода . . . Elif N_ константное_выражение N_ я_последовательность операторов программного кода Else Альтернативная последовательность операторов программного кода Endif Если константное выражение в директиве #elif истинно (не нулевое, например), то будет компилироваться соответствующая последовательность операторов программного кода. При этом другие выражения в директивах #elif проверяться уже не будут, в том числе директива #else. Особенностью рассмотренных конструкций является то, что проверка выражений осуществляется внутри директив #if и #endif. В соответствии со стандартом С89 у директив #if и #elif может быть не менее 8 уровней вложенности. При вложенности каждая директива #endif, #else или #elif относится к ближайшей директиве #if или #elif [3]. Каждая директива #if сопровождается директивой #endif. Директива условной компиляции #ifdef в общем виде выглядит следующим образом: Ifdef имя_макроса Последовательность операторов Endif Директива условной компиляции #ifdef означает «if defined» (если определено) [3]. Последовательность операторов будет компилироваться, если имя макроса было определено ранее с помощью директивы #define. Директива условной компиляции #ifndef означает «if not defined» (если не определено) в общем виде выглядит следующим образом:
|