c 指標問題

2022-06-01 22:50:06 字數 799 閱讀 5546

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的指...