The preprocessor supports text macro replacement and function-like text macro replacement.
Syntax
#define identifier replacement-list(optional) (1) #define identifier( parameters ) replacement-list (2) #define identifier( parameters, ... ) replacement-list (3) (since C99) #define identifier( ... ) replacement-list (4) (since C99) #undef identifier (5)
Explanation
#define directives
The #define directives define the identifier as a macro, that is they in