The #ifndef directive

The #ifndef directive checks whether a macro is not defined.

If the identifier specified is not defined as a macro, the lines of code immediately follow the condition are passed on to the compiler.

Read syntax diagramSkip visual syntax diagram#ifndef directive syntax
 
                          .----------------.
                          V                |
>>-#--ifndef--identifier----token_sequence-+-------------------->
 
>--newline_character-------------------------------------------><
 

An identifier must follow the #ifndef keyword. The following example defines MAX_LEN to be 50 if EXTENDED is not defined for the preprocessor. Otherwise, MAX_LEN is defined to be 75.

#ifndef EXTENDED
#   define MAX_LEN 50
#else
#   define MAX_LEN 75
#endif