指標與二維陣列(三)

2021-10-06 12:59:14 字數 980 閱讀 1474

(1)陣列名array表示陣列的首位址,及&array[0]

(2)陣列名array是位址常量

(3)array+i是元素array[i]的位址

(4)array[i]<=>*(array+i)

int a[3][4]

a是陣列名,包含三個元素,a[0],a[1],a[2],每個a[i]元素又是乙個一維陣列,包含4個元素。例如:a[0][0],a[0][1],a[0][2],a[0][3]

a:第0行的首位址 即a+i 代表第i行的首位址

a[0]:代表a[0][0]的位址,第0行,第0列的元素位址 即a[i]+j代表a[i][j]元素的位址,也可以表示為*(a+i)+j

a+i 與a[i]值相等,含義不同

a+i:&a[i],表示第i行首位址,指向行

a[i]?(a+i)或a[i][0],表示第i行第0列元素位址,指向列

1.指向一維陣列的指標變數

定義:資料型別 (*指標名)[一維陣列維數] 括號不能少

例如 int (*p)[4] p是一維陣列的首位址,p是行指標

可以讓p指向二維陣列某行

int a[3][4] int (*p)[4]=a 注意一維陣列維數,必須與二維陣列維數相同

指標p指向0行,指標q指向第0列

if(i==0) (*p)[0]即第0行第0列 *q+1即第0行第1列 所以a[0][0]=2

二維陣列與二維指標

1.二維陣列的儲存是線性的,可以通過一維指標的方式訪問。如一下 int map 5 5 int mapd map 0 0 則 map i j mapd i 5 j 而利用二維陣列線性儲存的特性,可以將二維陣列當作一維指標方便的在函式之間傳遞 如 將乙個二維陣列賦值給乙個動態二維陣列,引數設定為一維指...

二維陣列與二維指標

一.指標與二維陣列 以martix 3 4 為例 1.二維陣列的本質 int martix 3 4 int martix 3 4 int 4 martix 3 令int 4 為type,type martix 3 為含有三個元素的陣列,每乙個元素型別為int 4 int 4 是乙個擁有4個int型別...

二維陣列與指標

1 二維陣列和陣列元素的位址若有以下定義 int p,a 3 4 注意此處的int,定義為2位元組長度大小 1 二維陣列a由若干個一維陣列組成,在c語言 中定義的二維陣列實際上是乙個一維陣列,這個一維陣列的每乙個成員又是乙個一維陣列。如以上定義的a陣列,則可視a陣列由a 0 a 1 a 2 等三個元...