Lines starting with # are handled by the preprocessor before compilation:
#include: insert a header file.#define PI 3.14159: a constant macro.#define SQUARE(x) ((x) * (x)): a function-like macro (always wrap arguments in parentheses).#ifdef/#ifndef/#endif: compile code only in certain conditions, e.g. debug builds.