陣列中指標p

2021-08-21 22:38:26 字數 838 閱讀 6243

在定義乙個整型陣列時,系統會給陣列分配乙個(資料型別 * 陣列長度)個位元組儲存單元;

乙個整型陣列的乙個儲存單元格是四個位元組,三十二位位元,圖中乙個大的藍色格仔有四個小格仔,

則第二個格仔的位址為101,第三個格仔的位址為102,第四個格仔的位址為103

例如:

因為十六進製制中權重是從左到右依次減小,所以最右邊的權重是最小的,

也就是說從左到右是大資料到小資料;

圖.1定義了乙個整型陣列,陣列中存放有1,2,3,4,其餘沒有初始化的補0;

定義了乙個整型指標變數p,把陣列arr的位址賦給了p,

因為陣列名就可以表示這個陣列的首元素的位址,所以不用使用取位址符號&;

從圖.1中我們可以看到指標變數p中的值為182282464,p++後變成了182822468,

再p++後變成了18282472,得到每次指標p++,位址會增加4個位元組,即增加了乙個整型的單元格,

而不是增加乙個位元組或增加乙個整個陣列的長度。

圖.2從圖.2中看出,當陣列型別變成字元型時,位址也是增加了乙個字元型別單元格,

所以指標p++為圖.3

C 中指標與陣列

使用陣列的時候編譯器一般會把它轉化成指標。使用陣列下標時,通常使用size t型別,是一種無符號型別 對陣列的元素使用取位址符就能得到指向該元素的指標。string nums string p nums 0 p 指向 nums 的第乙個元素 cout p endl 輸出 one在很多使用到陣列名字的...

C語言中指標陣列與陣列指標

1 指標陣列的實質是乙個陣列,這個陣列中儲存的內容全部是指標變數。2 陣列指標的實質是乙個指標,這個指標指向的是乙個陣列。1 int p 5 int p 5 int p 5 2 一般規律 int p p是乙個指標 int p 5 p是乙個陣列 3 如果核心和 結合,表示核心是指標 如果核心和 結合,...

c 中指標和陣列的區別

c c 程式中,指標和陣列在不少地方可以相互替換著用,讓人產生一種錯覺,以為兩者是等價的。陣列要麼在靜態儲存區被建立 如全域性陣列 要麼在棧上被建立。陣列名對應著 而不是指向 一塊記憶體,其位址與容量在生命期內保持不變,只有陣列的內容可以改變。指標可以隨時指向任意型別的記憶體塊,它的特徵是 可變 所...