二維陣列的指標學習

2021-10-05 17:01:04 字數 1559 閱讀 6502

二維陣列的元素位址;

二維陣列指標指向的是首元素的位址(也是首元素陣列的首歌元素位址)

指標加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到底指向幾個指標是不知道的...