1、const定义的常量有自己的数据类型;define定义的宏常量没有数据类型
2、const定义的常量在程序运行时存在于常量表中,系统会为其进行内存分配;define的宏常量在预处理阶段只会将define定义的内容替换,程序执行时常量表中没有宏常量,系统不会为其进行内存分配
3、define定义表达式时要注意“边缘效应”
#define N 2+1
2*N;
//结果应该是2*2+1=5,而不是2*(2+1)=6
4、const定义的常量被称为常变量或只读变量,有类型,可以在任何地方定义