全国

    当前位置:

  • 热门地区:
  • 选择地区:
  • ×
当前位置: 初三网 > 中考助考 > 学习经验 > 正文

*p++和*(p++)区别

2024-01-09 13:08:20文/陈宇航

*p++和*(p++)的区别是运算顺序不同。*p++由于*和++优先级同级,满足右结合性,从右至左。p先取值,因为此时语句还没执行完,p未被赋值,故*p++所取的值为a[0],*p++等同于*(p++)。

*p++和*(p++)区别

*(p++),是先对指针P进行++运算,然后再取取值,由于*和++的运算优先级一样,且是右结合。故*p++相当于*(p++),p先与++结合,然后p++整体再与*结合。

但是,因为++后置的时候,本身含义就是先运算后增加1(运算指的是p++作为一个整体与前面的*进行运算;增加1指的是p+1),所以实际上*p++符号整体对外表现的值是*p的值,运算完成后p再加1。

查看更多【学习经验】内容