Let Us C Solutions, chapter 8, The C Preprocessor. Preprocessing is the processing of the codes before it actually processed by the compiler. Preprocessor directives begin with a hash (#).
A preprocessor is also the part of the compiler that does some processing, and after that, the codes go into the actual compilation process. It is a great tool to do tasks like avoiding some piece of code if some condition fulfills so that that code doesn't do into the compiled codes; it is an optimization.