左值和右值(C语言)

简单来说:a=b

“=” 是赋值符号:把右值的value复制一下,粘贴到左值的地址上存储

a是左值

b是右值

那么就是:b赋值给a

也就是把b的value赋值给a,让a的value等于b的value

(a的地址上存的是b的value)

所以左值可以是变量、表达式,但不可以是常量

(也就是:左值一定是要拥有地址的,它才能存放东西)

所以右值可以是常量,也可以是变量、表达式

(也就是:右值可以没有地址,也可以有地址,但是右值不能没有value)

综上所述:

左值一定是要拥有地址的,它才能把被赋值的value存进去

右值可以没有地址,也可以有地址,但是右值不能没有value,

右值的value一定不能为空,因为右值要把自己的value丢到左值的地址存储

就是:左值=右值  的过程就是:右值小可爱把自己的钱钱(value)丢到左值的钱包(地址位置)里面存储。

但是地址&&value的关系是:一个萝卜一个坑

所以,右值小可爱把钱钱(value)丢到左值的钱包(地址)里面的时候,左值的钱钱(value)就丢失了,所以:左值的钱包(地址)里面只有右值小可爱的钱钱(value)。

当然,左值的钱包(地址)里面的value只是右值小可爱的钱钱(value)的副本,所以右值小可爱的钱包里面的钱钱还是那么多。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值