常量和变量的区别

1、常量的值不可以修改,任何尝试修改常量的操作都会导致编译出错。变量可以通过赋值来改变值。
2、常量定义以后就不能修改了,所以常量在定义的时候必须初始化。变量可以在定义时不进行初始化。
3、常量的地址不允许赋给非常量指针。
4、常量在编译的时候,可以以立即数形式编译进指令,比起使用内存的变量执行效率更高。(汇编语言中中操作数有三种:寄存器操作数、存储器操作数和立即数。其中立即数相当于高级语言中的常量(常数),它是直接出现在指令中的数,不用存储在寄存器或存储器中的数,如指令ADD AL,06H中的06H即为立即数。)
5、常量本身没有地址属性(除字符串常量等),而变量有地址属性。所以常量只能用做右值,而变量左值右值都可以。

你可能感兴趣的:(c++)