Before I go into history, here we briefly understand the difference between the two.
Variables are, well, variables. They occupy a place in the compiled program, and if you do not mark them const(this is a much later version than macros), they are mutable.
, , . . . , . , ( ).
, . , , , , -.
++. :
- . , - ( -),
const, "" - MYVAR 500. - . , . , , . .
- #define -
- ( , , , , ),
- C,
- DEBUG, - . , -, DEBUG. ( , .)
, , - .