C Programming/Preprocessor reference

Preprocessor Reference
The following preprocessor statements exist:

Statement Subsequent items on the control line Meaning ========= ==================================== =======
 * 1) if      conditional-expression               conditional
 * 2) ifdef   identifier                           true iff identifier is a macro
 * 3) ifndef  identifier                           true iff identifier is not a macro
 * 4) elif    conditional-expression               continues a conditional
 * 5) else                                         continues a conditional
 * 6) endif                                        ends a conditional
 * 7) include header-name                          includes a file
 * 8) define  identifier                           defines a macro
 * 9) undef   identifier                           removes a previously defined macro
 * 10) line    number filename                      changes the line number and file name
 * 11) error   token-list                           specifies an error
 * 12) pragma  token-list                           catchall

Some nonstandard compilers also specify #warning and #import.

A conditional-expression above can include the defined operator.

The #define identifier above can be followed by an optional list of parameters and then an optional list of replacement tokens. The left parenthesis of the parameter list must have no preceding white space.