1. 程式人生 > >遞增/遞減運算子與指標的優先順序問題

遞增/遞減運算子與指標的優先順序問題

字首遞增、字首遞減和解除引用運算子的優先順序相同,以從右到左的方式進行結合。
字尾遞增和字尾遞減的優先順序相同,但比字首運算子的優先順序稿,這兩個運算子以從左到右的方式進行結合。
double arr[5]={21.1, 32.8, 23.4 , 45.2,37.4 ;}
double *pt =arr;// 指標指向陣列的第一個元素 arr[0]=21.1
++pt; //指標指向第二個陣列元素 arr[1]=32.8
double x=*++pt; //字首從右面結合,先把pt指向位置加一,值到arr[2]=23.4,然後再解除引用 x=23.4
++*pt; //字首從右向左結合,先解除引用,為23.4,然後再加一 則arr[2]=24.4
(*pt)++;//字尾優先順序比解除引用優先順序高,但是有括號,優先順序最高。先算括號裡的,解除引用 arr[2]=24.4,然後再加一
//則有arr[2]=25.4 pt依然指向arr[2]
x=*pt++;//字尾優先順序高,先後綴,但是又是整個運算後指標位置加一,所以x=25.4,然後pt指向arr[3]