C語言中陣列和指標的問題

時間 2022-08-24 19:51:41

1樓:匿名使用者

呵呵,你這個問題提重複了。我的回答也給你重複貼一遍。

&a 、 a、 &a[0]都是乙個值,指向首位址。

&p1是取指標p1的位址,不是p1內容的位址。p1 p2相等,但是&p1 不等於p2。

p3 與 陣列a沒關係,但是因為a[4]正好索引到陣列a最後乙個成員的下乙個位址,因此正好是p1的位址。這段解釋比較麻煩,畫個圖會明白些。

簡單的說,區域性動態變數的空間是在棧內分配,而不是乙個全域性性的不變的量。進入函式以後,按順序,從棧的空間中,給函式中定義的各變數分配空間。在你的函式中,最前面4個int型分配給陣列a,接下來分配給三個指標p1/p2/p3。

因為陣列a是int型,每個成員占用4個位元組。而指標占用也是32位,正好與int型相同。注意,32位系統中,指標都是32位長。

因此p1 p2 p3的位址,相當於陣列a順序往下數第5、6、7個成員。也就是說

&a[4] == &p1

&a[5] == &p2

&a[6] == &p3

2樓:匿名使用者

你的程式要完成什麼功能?

C語言中指標陣列的問題,c語言關於指標陣列的問題?

這樣看 0x00 0x78,0x99 0x78 h e l l 0 0 0x99 w o r l d 0 其中s就是0x00,然後,s 0 就是 0x00 0 0x00 取內容,得到的值是0x78,然後列印的就是hello s,就是相當於s 0 s 1,因為優先順序關係,先執行s 0 就是 0x78...

關於c語言陣列和指標的問題,關於C語言陣列和指標的乙個問題

c 語言裡 1 形式邏輯不成立。2 要分清 乙個形式 出現在 宣告裡,還是 出現在語句裡,3 另外,字元變數 與 普通變數 有些 不同。下面只談字元 宣告 char s 10 hello s 是 陣列,初始化 hello 0 自動加 0 宣告 char p p 是 指標。宣告 char p s p ...

c語言中指標的問題,C語言中指標的問題

s 是乙個變數。乙個變數,通常有兩個部分含義,乙個是變數的型別,其次,才是變數的值。從某種程度上講,變數的型別,要比變數的值還重要。變數型別,決定了變數的處理方式,比如,如何儲存,如何處理。char s是乙個指標變數,可以指向char型別變數的指標變數。這句話有這樣幾層含義。首先,s是指標變數 重點...

C語言變數和指標問題,C語言中「指標」和「指標變數」的區別是什麼??

這個main函式裡面一共呼叫了3次fun函式。fun函式是利用a 10 作為輸入的。第一次呼叫fun p,0,3 需要對a 10 進行兩次的位置的對調,一次是0和3位置上面的資料對調,第二次是1和2位置上的資料對調。這是的結果a變成 4,3,2,1,5,6,7,8,9,0 第二次呼叫fun p,4,...

c語言中的二維陣列問題,c語言問題 c語言中二維陣列在記憶體中怎樣儲存?

目的是將緩衝區中輸入流中資料清除,可以使用 fflush stdin 清除資料 gets函式會把前面在scanf函式的輸入結束符即回車當做第乙個字串資料的結束符接收,因此不加gets s 就會導致資料個數少乙個。當然使用gets s 會提前接收了回車,因此也是起到同樣的作用。你程式函式中有個錯誤,p...