如果動態分配乙個2維陣列,3行4列,
int
**map = new int*[
3];for
(int i =
0; i <
3; i++
)
當這樣寫是動態申請的記憶體,記憶體空間為如下所示。可以看出動態申請的二維陣列中記憶體不是連續的,
for
(int i =
0; i <
3; i++
) cout << endl;}/*
0040af80 0040af84 0040af88 0040af8c
0040afd0 0040afd4 0040afd8 0040afdc
0040b020 0040b024 0040b028 0040b02c
*/
如果直接構造乙個二維陣列,則記憶體空間為如下,可以看出記憶體空間是連續的,
int m[3]
[4];
int* p =
*m;for
(int i =
0; i <
12; i++)/*
003afc40
003afc44
003afc48
003afc4c
003afc50
003afc54
003afc58
003afc5c
003afc60
003afc64
003afc68
003afc6c
*/
C 二級指標
b 0x00000008 b的內容 b 一段內容 b解引用,也就是b指標指向的c的值 b 0x00000004 b取位址,b的位址是0x00000004 a b 0x00000008 a解引用也就是b的內容 a b 一段內容 b解引用,也就是b指標指向的c的值 a b 0x00000004 a存的是...
C語言二級指標
指標是c語言的靈魂,我想對於一級指標大家應該都很熟悉,也經常用到 比如說對於字串的處理,函式引數的 值,結果傳遞 等,對於二級指標或者多級指標,我想理解起來也是比較容易的,比如二級指標就是指向指標的指標.n級指標就是.但是可能大家比較不容易理解的是,二級指標或者多級指標用在 呢?怎麼使用呢?有沒有必...
指標與二級指標
int num 10 int p1 int p2 p1 指標的指向結構如下圖所示 0x4000 0x3000 p2 0x2000 p1 num p2 表示的是儲存p2指標的位址 p2 表示的是p2指向的位址,即指標p1存放的位址 p2 表示指標p2指向位址中所存的值,即指標p1指向的位址,即變數nu...