二維陣列的元素位址;
二維陣列指標指向的是首元素的位址(也是首元素陣列的首歌元素位址)
指標加n是二維陣列第n+1個元素的位址
*(指標+n)+n是二維陣列第n+1個元素(元素是乙個陣列)的第n+!個元素的位址
*(指標+n)等同於array[n]而array[n]
相當於(array[n])[n]
其中array[n]+n就是(array[n])[n]的位址
指向二維陣列的指標
int (*p)[3];p是指向長度為3個int值的陣列指標(給個都有三個元素都是int型別的值)
1 #include
4int zippo[4]
[2]=
,,,}
;5/* (zippo)
6 * (zippo+1)
7 * (zippo+2)
7 * (zippo+2)
8 * (zippo+3)
9 * 2(zippo) 4(*(zippo)+1)
10 * 6(zippo+1) 8(*(zippo+1)+1)
11 * 1(zippo+2) 3(*(zippo+2)+1)
12 * 5 7
13 *
14 *
15 *
16 *
17 *
18 * */
19printf
(" zippo =%p,zippo+1=%p\n"
,zippo,zippo+1)
;2021printf
("zippo[0]=%p,zippo[0]+1=%p\n"
,zippo[0]
,zippo[0]
+1);
22printf
(" *zippo=%p,*zippo+1=%p\n"
,*zippo,
*zippo+1)
;23printf
("zippo[0][0]=%d\n"
,zippo[0]
[0])
;24printf
(" *zippo[0]=%d\n"
,*zippo[0]
);25printf
(" **zippo=%d\n",*
*zippo);26
printf
(" zippo[2][1]=%d\n"
,zippo[2]
[1])
;27printf
(" *(*(zippo+2)+1)=%d\n",*
(*(zippo+2)
+1))
;28printf
("%d\n",*
*(zippo+2)
);29return0;
30}
二維陣列 二維陣列和指標
include using namespace std int main 如上面這段程式所示,通過取位址符 指標 p 獲得了變數 a 的位址,那麼解引用符 就可以從 p 中得到變數 a 的值。也就是說,p a和 p a是等價的。p 是變數 a 的位址,從 p 中就可以取出 a 的值。反之,能從 p ...
二維陣列與二維指標
1.二維陣列的儲存是線性的,可以通過一維指標的方式訪問。如一下 int map 5 5 int mapd map 0 0 則 map i j mapd i 5 j 而利用二維陣列線性儲存的特性,可以將二維陣列當作一維指標方便的在函式之間傳遞 如 將乙個二維陣列賦值給乙個動態二維陣列,引數設定為一維指...
二維指標和二維陣列
二維指標和二維陣列有三種形式 1,type ptr 2,type ptr或者type prt 3,type prt 三種形式意思相近,也有區別。首先三種形式都能表示二維的資料結構。1,type ptr 表示乙個指向指標的指標 但是在一開始宣告的時候 type ptr ptr到底指向幾個指標是不知道的...