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