*与++优先级

举报
嵌入式与Linux那些事 发表于 2022/03/28 22:29:14 2022/03/28
【摘要】 前缀递增递减和*优先级相同,从右到左; 后缀递增递减比前缀优先级高,从左到右。 比如 int arr[5] = { 1,3,5,7,9 }; int *p = arr; 12 *++p:p先自+,...

前缀递增递减和*优先级相同,从右到左;

后缀递增递减比前缀优先级高,从左到右。

比如

int arr[5] = { 1,3,5,7,9 };
int *p = arr;

  
 
  • 1
  • 2
*++p:p先自+,然后*p,最终为3——马上改变指针,*下一个指针
*p++:值为arr[0],1,该语句执行完毕后,p指向arr[1]    ————之后改变指针,*原数据,指针++
*(p++):效果等同于*p++    ——之后改变指针,*原数据,指针++++执行完赋值语句再+(*p)++:先*p,即arr[0]=1,然后1++,该语句执行完毕后arr[0] =2——不改变指针,数据++
++*p:先*p,即arr[0]=1,然后再++,最终为2——不改变指针,++数据
只有++*p),(*p)++++*p使指针的位置不变,改变数组的原始数值,
其他的任何情况都是指针指数组的下一个,指针的位置+1

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

文章来源: blog.csdn.net,作者:嵌入式与Linux那些事,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_16933601/article/details/103351725

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。