int a[3]={1,2,3};
int *p = a;
*p++ 先取指針p指向的值(數組第一個元素1),再將指針p自增1;
cout << *p++; // 結果爲 1
cout <<(*p++); // 1
(*p)++ 先去指針p指向的值(數組第一個元素1),再將該值自增1(數組第一個元素變爲2)
cout << (*p)++; // 1
cout <<((*p)++) //2
綜上所述:
*p++是先取出*p的值,然後讓p++
*(P++)是先取出*p的值,讓p++
所以,*p++等價於*(P++)
*++p 先將指針p自增1(此時指向數組第二個元素),* 操作再取出該值
cout << *++p; // 2
cout <<(*++p) //2
++*p 先取指針p指向的值(數組第一個元素1),再將該值自增1(數組第一個元素變爲2)
cout <<++*p; // 2
cout <<(++*p) //2