1. macro definition is expanded in the preprocessing phase; cnost variable is used in the compilation and running phase
2. The macro definition has no type and does not check any type. It only expands. The variable modified by const has a specific type and is executed during compilation.
3. The macro defines how many times a file is expanded and no memory space is allocated. The variable modified by const will allocate space in the memory.
1. enumeration is a constant, but the macro definition is not a constant.
2. Enumeration constants are one type of entities, but macro definitions are not entities.
3. enumeration has a type, but the macro definition has no type. Enumeration and common variables have scopes and values, but the macro definition does not. It is a preprocessing replacement.
Macro definition, const variable, and enumeration