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 following the condition are passed on to the compiler.
#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