左值(定位器值)表示占据内存中某个可识别位置(即具有地址)的对象。
右值是通过排除定义的。每个表达式要么是左值,要么是右值,因此,右值是不代表占用内存中某个可识别位置的对象的表达式。
例如,赋值期望左值作为其左操作数,所以以下内容是有效的:
int i = 10; But this is not: int i; 10 = i;
这是因为 i 在内存中有一个地址并且是一个左值。而 10 没有可识别的内存位置,因此是一个右值。因此将 i 的值指定为 10 没有任何意义。
以上是C语言中的 lvalue 和rvalue的详细内容。更多信息请关注PHP中文网其他相关文章!