The C preprocessor modifies source files before compilation by substituting #define macro constants, evaluating conditional block guards, and expanding file headers.

Header Guard and Macro Constant Example

config.hc
#ifndef CONFIG_H
#define CONFIG_H
 
#define MAX_BUFFER_SIZE 1024
#define API_VERSION "v2.1"
 
#endif // CONFIG_H