一.什么是数据对象
定义:用于存储数据的存储空间称作数据对象。
C标准只有在提到这个概念的时候才会用到对象这个术语。
二.什么是左值
定义:可以定位数据对象的标识符或者表达式。
数据对象是指实际存储数据的空间,而左值是用于标识或者定位存储空间的标签。
对于早期的C标准,提到左值意味着:
1.它指定一个数据对象,可以引用内存中的地址。
2.它可以用到赋值运算符的左侧。
但是在后来的标准中引入了const限定符,此时就不满足第二点了。
为此C标准新增了,可修改左值和对象定位值来区分用const关键字修饰的变量。
三.什么是右值
定义:指的是能赋值给可修改左值的量,且本身不是左值。
四.右值本身不是左值
此时该表达式的意思是将a变量中的值赋值给b变量。
总结:
左值就是可以出现在赋值运算符左边的值,右值就是可以出现在赋值运算符右边的值。