1. 程式人生 > >C語言中*p++ ,(*p)++ ,*++p ,++*p的區別

C語言中*p++ ,(*p)++ ,*++p ,++*p的區別

1、*p++ 先取指標p指向的值(陣列第一個元素1),再將指標p自增1;
* 和++ (單目運算)兩個處於同一優先順序,結合方向是自右向左
但是前提是當++在變數前面的時候才處理同一優先順序,當++在變數之後時,你可以將++的優先順序看成最低階的,比逗號運算子的優先順序還低**)
2、(*p)++ 先去指標p指向的值(陣列第一個元素1),再將該值自增1(陣列第一個元素變為2
3、++p 先將指標p自增1(此時指向陣列第二個元素), 操作再取出該值
4、++*p 先取指標p指向的值(陣列第一個元素1),再將該值自增1(陣列第一個元素變為2)
這裡寫圖片描述