1. n. A set of assembler or high-level language statements that can be invoked by a single word or phrase in the source code. Macros reduce typing and usually increase readability by expressing commonly used ideas in a single statement. An assembler, preprocessor, or compiler expands each macro invocation into the proper source statements via string substitution and then converts these to machine language. Macros always allow the user to substitute parameters that pass data to the macro that is then included in the macro expansion.
2. n. In C and C++, any specific macro created with the #define and expanded by the preprocessor.