const与#define的区别

  • const用于定义常量,常量在程序运行过程中只有一份拷贝;#define用于定义一个宏,宏的值在内存中有若干个拷贝

  • 编译器通常不为const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率比宏要高。