1.变量的本质是内存单元,可以存储数据也可以读取数据;

2.常量一旦被定义就不能重新定义或者取消定义,所以常量在定义的时候必须初始化。变量则可以改变;

3.常量的值可以修改,修改常量的操作会导致编译出错,变量则可以通过赋值进行改变;

4.常量在编译的时候,可以以立即数形式编译进指令,比起使用内存的变量执行效率更高;

5.常量本身没有地址属性(除字符串常量等),而变量有地址属性。所以常量只能用做右值,而变量左值右值都可以。