Substitutes a macro usage or a function-like macro invocation once, so that inner macros are not expanded.

Substituting macro step by step helps to understand how a C/C++ preprocessor works.