### Preprocessor Directives

Preprocessing is a step that takes place before compilation that lets you:

- Replace tokens in the current file with specified replacement tokens.
- Imbed files within the current file
- Conditionally compile sections of the current file
- Generate diagnostic messages
- Change the line number of the next line of source and change the file name of the current file.

A token is a series of characters delimited by white space. The only white space allowed on a preprocessor directive is the space, horizontal tab, vertical tab, form feed, and comments. The new-line character can also separate preprocessor tokens.

The preprocessed source program file must be a valid C program.

Preprocessor directives begin with the `#` token followed by a preprocessor keyword. The `#` token must appear as the first character that is not white space on a line. The `#` is not part of the directive name and can be separated from the name with white spaces.

A preprocessor directive ends at the new-line character unless the last character of the line is the `\` (backslash) character. If the `\` character appears as the last character in the preprocessor line, the preprocessor interprets the `\` and the new-line character as a continuation marker. The preprocessor deletes the `\` (and the following new-line character) and splices the physical source lines into continuous logical lines.

Except for some #pragma directives, preprocessor directives can appear anywhere in a program.

Preprocessing Operations
Preprocessor Macros
Conditional Compilation Directives

#pragma Preprocessor Directives