1樓:
*p++
(*p)++
你要看下* 跟 ++ 哪個運算級高。
*p++ 的意思是 指標指導到後乙個元素
(*p)++ 的意思是當前元素裡面的數值增加1 。
舉例int a=;
int *p=a;
*p++
操作的結果是 a依舊2,1 [*p]為1
(*p)++的結果的是 a 為3,1 [*p]為3
2樓:程式小兵
例如:char a = "a,b,c,d";
char *p = a;
*p++表示,指標指向的位置加1(向前移一位),因為char *p = a;是指向,a,當*p++,後,指向了,b;
(*p)++,這個 * 解引用是取指標指向的位址的值,*p 的值為 a;(*p)++,表示,a 的值加1!
就這樣!不懂hi我
3樓:匿名使用者
運算子優先順序來看, *復引用 比 ++自增低,*p++即 *(p++),那麼:
例如指標p指向的位址是0x1c234560,該位址為int型別資料,值為1 ,
(*p)++ ,就把0x1c234560位址裡的資料增為2;
*(p++), 就是取 0x1c234564這個位址,就是把p自增了一下,p指向0x1c234564這個位址了。
4樓:匿名使用者
你要會這麼分,機器讀程式是從左向右的。。。
先讀完p++的是值+1,求它的位址
(*p)++是位址加+1
C 指標的問題,C語言指標問題
這麼說吧,指標是以後資料結構的基礎,比如單鏈表,雙鏈表,二叉樹等等等等,全部都時指標做的,還有1720次對於現在的計算機來說,是個很小很小很小的數量級。指標學好了受益匪淺,並且也是程式設計今後必須的。指標的確是可以大大提高效率,但是要看你怎麼用,就和遞迴演算法一樣,另外,顯示位址是你語句的問題。比如...
c指標問題
include using namespace std void swap int p1,int p2 void change int q1,int q2,int q3 沒有宣告函式原型 void main 真是服了你了 這個居然也可以寫錯void swap int p1,int p2 void c...
C語言指標,問題啊,初學啊,C語言指標問題(初學者)
j c這一句是錯誤的,j是int 型別的變數,只能儲存int型變數的位址值,應該改為j c才對。p是位址符格式。這樣輸出的是c的記憶體位址。想要通過j輸出c的值,應該這樣寫printf d j j儲存的才是c的值,j儲存的是c的位址。所以1 3 都應該改為 j p是輸出位址符格式,j是指向變數c的指...