- 左值可以出现在赋值语句的左边或右边,也就是说左值可以当右值使用。
- 右值只能出现在赋值语句的右边,不能出现在赋值语句的左边。
- 左值表示程序中必须有一个特定的名字引用到这个值。
- 右值表示程序中没有一个特定的名字引用到这个值。
- 变量是左值,因此可以出现在赋值语句的左边。
- 数字字面值是右值,因此不能被赋值。
- 实际上,左值是一个存储地址,也就是一块内存存储数据所要操作的地址。
- 而右值是一个具体的数据或者数值,也就是该内存存储的数据内容。
- 只有左值和右值都是单一变量的时候二者才可以相互交换位置,因为变量具有固定的内存地址。
- 有些操作符,如赋值,要求其中的一个操作数必须是左值。