C 语言中的左值和右值


左值(定位器值)表示占有内存中可识别位置的对象(即有地址)。

右值通过排除定义。每个表达式都是一个左值或一个右值,因此,右值是一个不表示位于内存中可识别位置的对象的表达式。

例如,赋值期待一个左值作为其左操作数,因此下列语句有效

int i = 10;
But this is not:
int i;
10 = i;

这是因为 i 在内存中有一个地址,并且是一个左值。而 10 没有一个可识别的内存位置,因而是一个右值。所以将 i 的值赋给 10 没有意义。

更新于: 30-Jul-2019

8K+ 浏览量

启动你的 事业

完成课程以取得认证

开始学习
广告