*a++的含义及C语言中的左值(Lvalues)和右值(Rvalues)

*a++的含义及C语言中的左值(Lvalues)和右值(Rvalues)
 
1、 *和++哪个优先级更高?
      两个处于同一优先级,编译器结合方向是自右向左,所以*a++可看成*(a++),即先执行a++,后执行*a。但由于这里的“++”号是后加加号,所以会在整条语句执行完后再对a自加一。所以最终的实际执行效果等效为:先执行(*a)操作,后a自加。*a++可看成*(a++),即先执行a++,后执行*a。但由于这里的“++”号是后加加号,所以会在整条语句执行完后再对P自加一。所以最终的实际执行效果等效为:先执行(*a)操作,后a自加。

2、*a++和(*a)++的区别

 

 

 

一个是 指针后移 一个是指针指向的内容自加

3、举例

 

int *a, b[2]={2,1},c;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值