The C compiler routes your programs through a preprocessor before it compiles them. C's preprocessor might be called a ''pre-compiler" because it preprocesses and prepares your source code for compiling before your compiler receives it.
Because this preprocess is so important to C, you should familiarize yourself with it before learning more specialized commands in the language itself. Regular C commands do not affect the preprocessor. You must supply special non-C commands, called preprocessor directives, to control the preprocessor. These directives enable you, for example, to effect changes to your source code before it reaches the compiler.