(*p)++和*(p++)和*p++有什么区别


(*p)++,是先取指针P的值,然后对其值进行++运算,
*(p++),是先对指针P进行++运算,然后再取取值,
*p++,同*(p++),因为按优先级来看,*和++是同级,他们都是从右到左的顺序进行运算,所以先++,再*。

如果
char q[5] = "am";
char *p = q;
那么,
(*p)++后,p就变成了"bm";因为是进行对其首元素进行加1运算
*(p++)后,p就变成了"m",因为是先指向下一个元素,再进行取值运算,
*p++同上面,
如果只是征对这3个语句赋值给其他变量的话,3个的结果都是a,在这里。
char o = (*p)++;
char m = *(p++);
char n = *p++;
都是a。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值