C语言之左值和右值

本文详细解释了C语言中左值与右值的概念,并通过具体示例展示了合法表达式的构成方式,同时也列举了一些特殊情况下的使用规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、概念

简单而言,左值就是能够出现在赋值符号左边或右边的东西,右值就是只能够出现在赋值符号右边的东西。

更深一层来说,左值就是L_value,L表示的是定位,地址;右值就是R_value,R表示的是读取数据。

例如,a=b,这句话中a是一个左值,b是一个右值,那么可以说,将b地址内存里面的数据放到a地址内存中。

2、合法的表达式
表达式是指由单个或多个操作数、运算符组成的符合C语言规则的式子。
左值可以是一个变量,或者是一个引用对象的特殊的表达式。
右值可以是一个常量,字面值常量,表达式。
通过几个例子大家看一下:
a=3 正确的表达式
-i++错误的表达式(-i不是一个左值,没有办法寻址)
3=x错误的表达式
'a'+=5错误的表达式,原因在于,字符型字面值不可以作为左值。
3、特殊情况
这些运算符的操作数必须是左值:&;++;--;=;+=;-=;*=;%=;/=;<<=;>>=;&=;^=;|=;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值