From what I understand , #define blah 8 is a macro . While , # is the pre-processor directive .
Can we say #include,#if,#ifdef,etc. are also macros , or are they called something else ? Or is it that macro is just a term used for #define statements only?
Please correct me if I am wrong.
Lines that start with
#are preprocessing directives. They are directives that tell the preprocessor to do something.#include,#if,#ifdef,#ifndef,#else,#elif,#endif,#define,#undef,#line,#error, and#pragmaare all preprocessing directives. (A line containing only#is also a preprocessing directive, but it has no effect.)#define blah 8is a preprocessing directive, it is not a macro.blahis a macro. This#definepreprocessing directive defines the macro namedblahas an object-like macro replaced by the token8.