1樓:次略太叔嘉惠
若p和q是申明為型別相容的指標變數,且都正確賦有合法值且不為null,那麼,*p=*q是把指標q指向的目標值賦給指標p指向的目標;p=q則是使指標p指向指標q指向的目標(最終是p和q指向了同一目標,這個目標就是q指向的目標)。在q==null時,*p=*q非法操作,p=q是合法操作(使p和q同為null)。綜上,除q為無效(null)時不能取值操作外,正常情況下*p=*q操作的是指標指向的目標,p=q操作的是指標本身——這是二者的本質區別。
以下**可以驗證:
#include "stdio.h"
int main(int argc,char *ar**)驗證結果如下:
2樓:雪淑英鹿棋
*p++
先取指標p指向的值(陣列第乙個元素1),再將指標p自增1;
(*p)++
先去指標p指向的值(陣列第乙個元素1),再將該值自增1(陣列第乙個元素變為2
*++p
先將指標p自增1(此時指向陣列第二個元素),*操作再取出該值
++*p
先取指標p指向的值(陣列第乙個元素1),再將該值自增1(陣列第乙個元素變為2)
3樓:潭菊須倩
c語言的指標,裡面存放的是
實體地址。
而*p是
取內容的意思,即
取當前存放內容對應(指向)的位址
裡面的內容。
而p++
就是把p裡面的內容+1個單位,因為
p存的是位址,所以是
位址+1,也就是下乙個位址。那麼指標p
就指向了
下乙個位址了。
c語言指標p與p有什麼區別?printf輸出表列要哪個
金色潛鳥 宣告為指標以後,語句 裡,出現 p,表示 是 數值,出現 p,表示 是 位址。列印 數值 5 如果 寫 printf d p 不帶星號的,則是 a的位址。 逍遙足球子 p代表指標 32位的數,用來記錄位址的。p代表取出指標指向位址中的記憶體。 我是這樣理解的,指標 p顯示的是記憶體位址,而...
關於c語言p4是什麼意思?p14是什麼意思
p 1 4 是第二維第五個元素的內容 巨集照浪 p 4 為乙個二維陣列的第一行第5個元素,p 1 4 為該二維函式第2行第5個元素,如 int a 3 5 int p 5 p a 則,p 4 a 0 4 p 1 4 a 1 4 gy1號 他們都在誤導你了。解決是錯的。看下面的例子好了。從其中的值,你...
c語言中p和p1有什麼區別,C語言中p 和p 1有什麼區別?
第一句應該是p p 1吧。這2句的結果是一樣的,相信樓主也是知道的,都表示p 1然後結果儲存在p中。但是所有的研發還是實驗,如果碰到自加1的運算都會選擇p 這裡面的關鍵點是p 的運算速度比p p 1快,雖然一條語句說快能塊多少呢?但是運算步驟少,不僅僅是提高速度,而且可以減少出錯的機率,這對於工程來...