表达式* ptr ++和++ * ptr是否相同?

两种表达都不同。让我们看一个示例代码来理解两个表达式之间的区别。

输出:  101,200,101

说明:
在上面的示例中,涉及两个运算符,两者都具有相同的优先级,具有从右到左的关联性。所以上面的表达式++ * p相当于++(* p)。换句话说,我们可以说它是值的预增量,输出是101,200,101。

输出:  100,200,200

说明:
在上面的示例中,涉及两个运算符,两者都具有从右到左关联的相同优先级。所以上面的表达式* ++ p相当于*(++ p)。换句话说,你可以说它是地址的预增量,输出是100,200,200。

posted @ 2019-09-01 21:55  wdliming  阅读(383)  评论(0编辑  收藏  举报