左值与右值
一、百度百科中的介绍:
左值与右值在C/C++中表示位于赋值运算符两侧的两个值,赋值号左边的就叫左值(left-value),右边的就叫右值(right-value)。 比如:(1) int b = 3;(2) int a = b;第(2)行代码,a为左值,b为右值。不过左值与右值的含义有了更深层次的含义:
L-value中的L指的是Location,表示可寻址。a value (computer science)that has an address.
R-value中的R指的是Read,表示可读。in computer science, a value that does not have an address in a computer language.
二、C语言中文网中片段:
这里我们需要重点说一下左值和右值:左值是指那些在表达式执行结束后依然存在的数据,也就是持久性的数据;右值是指那些在表达式执行结束后不再存在的数据,也就是临时性的数据。有一种很简单的方法来区分左值和右值,对表达式取地址,如果编译器不报错就为左值,否则为右值。
三、左值可以是右值,右值不可以是左值。
int a = 10;//a是左值int b = a;//a是右值 int a = 10;//10是右值 10 = 20;//错误写法

浙公网安备 33010602011771号