- const定义的常数是变量,需要带类型; #define定义的只是常数,不带类型
- #define在编译的预处理阶段起作用;const在编译、运行时起作用
- #define只是简单的字符串替换,没有类型检查;const有对应的类型检查,需要进行判断;
- const不能重新定义;#define可以通过#undef取消某个符号的定义,再重新定义;
- #define可以用来防止头文件重复引用;const不能
参考链接:https://blog.csdn.net/yi_ming_he/article/details/70405364