后置递增运算符的优先级高于解引用运算符!

*p++ 等价于 *(p++)

 

但是,我们*p++的求值结果不可理解为p+1指向的对象的值,而应该是p指向的对象的值

这是由于后置++的特性引起的。

 

*p++:把p的值加1,然后返回p的初始值(即未加1)的副本作为其求值结果,此时解引用运算符的运算对象是p未增加之前的值(即p,而非p+1)。

换句话说,*p++的效果其实和“*p, p++”的效果一样,只不过更简洁!

 

============================楚=========河==============================

由此,我们也可以推测*++p的求值结果,对于前置++,当然是把p增加后的值(即p+1)作为解引用运算符的运算对象。

 

而(*p)++和++*p则只是将p所指对象的值加1,p的值并未改变!

相关文章:

  • 2022-12-23
  • 2021-04-08
  • 2022-12-23
  • 2022-01-09
  • 2021-04-12
  • 2021-10-29
  • 2022-01-07
  • 2021-10-31
猜你喜欢
  • 2021-09-09
  • 2021-05-05
  • 2022-01-18
  • 2021-11-23
  • 2021-07-24
  • 2021-09-21
相关资源
相似解决方案