(*p)++和*(p++)和*p++的区别
生活随笔
收集整理的這篇文章主要介紹了
(*p)++和*(p++)和*p++的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(*p)++和*(p++)和*p++的區別
*(p++)究竟是誰++,是p的地址++,還是p所指的東西的地址++
?
前綴遞增遞減和*優先級相同,從右到左;
后綴遞增遞減比前綴優先級高,從左到右。
比如
| 1 2 | int?arr[5]?=?{?1,3,5,7,9?}; int?*p?=?arr; |
*++p:p先自+,然后*p,最終為3
++*p:先*p,即arr[0]=1,然后再++,最終為2
*p++:值為arr[0],即1,該語句執行完畢后,p指向arr[1]
(*p)++:先*p,即arr[0]=1,然后1++,該語句執行完畢后arr[0] =2
*(p++):效果等同于*p++
總結
以上是生活随笔為你收集整理的(*p)++和*(p++)和*p++的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 父类的析构函数定义为虚函数
- 下一篇: new和delete底层解析