|Figure: Screen shot of macro C program|
- Variable may inadvertently get altered somewhere in the program. so it's no longer a constant that you think it is.
- Variable is inefficient, since the compiler can generate faster and more compact code for constant than it can for variables.
- Using a variable for what is really a constant encourages sloppy thinking and makes the program more difficult to understand: if something never changes, it is hard to imagine it as a variable.
- General rules and example of macro