p1 a與p1 a什麼區別, p1 a 3 與p1 a 3 什麼區別???

2022-12-07 09:26:09 字數 1950 閱讀 5761

1樓:

*p1=a[3] ; 看你想做什麼呢?定義的話,a[3]裡存放是你希望p1所指向的合法地址嗎?不是的話當然出錯。

不是定義是運算的話,表示將a[3]的內容賦值到p1所指向的記憶體單元,如果該單元禁止訪問也會出錯。

p1 = &a[3]明確表示了將該單元自身的地址賦給p1,合法;

指標使用的時候需要確定其所指單元合法,否則會出錯。

指標定義的時候賦初值也要考慮該初值的合法性

2樓:匿名使用者

你的p1是一個指標嗎?

*p1=a[3];是說將陣列a的第三個元素放到p1這個指標指向的記憶體空間中.

我想你的p1肯定沒指向空間,只是一個申請的指標.所以*p1=a[3];記憶體出錯,因為p1根本沒指向一塊被申請的記憶體.p1=&a[3]是將一個地址給了p1所以沒問題.

你記著,指標本身只能存放一個地址,如果你要讓他放一個變數,必須讓他先指向一塊地址.不能申請了就拿來放東西.

換個說法讓你理解更深刻:

指標就相當於箱子的編號,編號就是記憶體地址,而變數就是放東西的箱子.

如果你只有一個箱子的編號,而根本沒設定一個箱子.那麼你想你能在編號裡放東西否?

3樓:匿名使用者

你這裡p1是指標。指標儲存的是地址 p1=&a[3] 就是把a陣列的第4個元素的地址存進p1中

*p1是指p1儲存的地址所表示的值。

比如說p1=&a[3] *p1=5;這就相當於把5賦值給陣列a的第四個元素

但假如直接是int *p;

*p =5 ;的話。 這樣就很危險了。 因為你宣告一個指標p 裡面本身會有一個值。

這個值是隨機的某一個地址 然後把這個隨機的地址裡面的值改為5 。 這個隨機的值可能是系統所必須得,而我們卻把它改了。,所以很可能造成系統崩潰的。

所以會提示記憶體出錯。 這也就是慎用指標的原因了。

4樓:匿名使用者

p1是個指標變數,指標變數指向的是記憶體地址,所以

p1=&a[3]是正確的。&為取地址符號。

而a[3]是一個整型常量,*p1是個地址,所以不能直接賦值。

5樓:瞎眼魚

前一個,指標p1你怎麼知道它會指向哪呢?就有可能造成記憶體越界,執行時就會提示記憶體出錯;

第二個則是指定p1指向a[3].

c語言中*p1=*p2與p2=p1有什麼區別?都是指標型~謝謝啦

6樓:花斑璐

*p1=*p2是把p1指向的變數的值改變,但p1所指向的變數不變,p1=p2,則是p1指向改變了,即p1不再指向原變數的地址,改為指向p2所指向的地址。

7樓:

第二個事直接把p1的值賦給了p2,第一個是先把p2的值的地址先給p1,然後*p1再得到這個地址的值,也就是p2的值。應該是這樣,我也是剛學的,你再聽聽樓下的意見吧

8樓:劉斯佳契

前一個是隻將*p2所指內容賦值給*p1所指

後者是將p2裡存的地址賦值給p1

9樓:匿名使用者

p1,p2是指標的值。

*p1是p1指向的記憶體塊區域的值。

在c語言中求p2-p1; 結果是5?還是10? 10

10樓:匿名使用者

這要看你的編譯器是多少位的了,它所定義的int 型是多少位元組的了.你可以實際驗證一下.我的機子上結果是5

11樓:

任何編譯器上的結果都是5

指標減法含義是:兩個地址之間有多少個計量單位

那麼p2-p1的意思就是p2和p1之間有多少個int,那麼不管int是16位還是32位甚至64位,結果總是5 .和int的長度沒有絲毫關係

已知三點P1x1,y1,P2x2,y2,P3x

反比例bai 函式y 2 x中k 2 0,函式圖象du在 二 四象限 zhi,dao x1 0 點專p1 x1,y1 在第二象限,y1 屬0,點p2 x2,y2 p3 x3,y3 在第四象限,y1 y3 y2.故選 b.已知p1 x1,y1 p2 x2,y2 p3 x3,y3 是反比例函式y 2x的...

榮耀10和p20有什麼區別,p20和榮耀10的區別

二者的處理器均為麒麟970處理器。所以在效能上,應該差異不大。主要差異在攝像頭和顏色上。榮耀10的攝像頭沒有徠卡認證,而p20的攝像頭是經過徠卡認證的。再者榮耀10的顏色都是類似於漸變的顏色,而p20只有極光色是類似的設計,二者的電池容量均為3400毫安。榮耀10是有hifi晶片的,而p20沒有,再...

int x 5,y 1,p,則執行語句p 3,p y,x x p後變數x的值

int x 5,y 1,p x 這時 p 指向來 變數源 x.p 3 使bai x 3 了 p y 讓 p 指向 變數 y p 值等於 y 的當前值 1 x x p x 3 1 變數 x 的值du變成 4 回答 zhi 執行語句這dao幾個語句後,變數x的值 是 4。設有int x 5,y 1,p ...