指標訪問二維陣列的幾種常用方法

2022-08-01 18:00:21 字數 1568 閱讀 3641

內容皆是從網路上搜尋得到,寫在這裡備忘。

《一》因為二維陣列在記憶體上是按照逐行順序排列的,所以也可以看成是一維陣列,這樣訪問

1 #include 2

int main(void) 3

,};5

int * y = (int *) x;

6int i = 0;7

for(i = 0; i < 2 * 2; i++) printf("

%d\t

", y[i]);

8return0;

9 }

《二》自己計算偏移量訪問

1

intmain()

2,};

4int *parray =null;

56 parray =iarray;

78 printf("

array[0][0] = %d\n

", *parray);

9 printf("

array[1][2] = %d\n

", *(parray + 1 * 3 + 2

));10

11return0;

12 }

《三》用指向陣列的指標來訪問二維陣列的元素

1

intmain()

2,};

4int (*parray)[3] =null;

56 parray =iarray;

78 printf("

array[0][0] = %d\n

", parray[0][0

]);9 printf("

array[1][2] = %d\n

", parray[1][2

]);10

11return0;

12 }

《四》指向指標的偏移

1

const

int row = 2, col = 3

; 2

intmain()

3

《五》一種常用的用法,我用來儲存影象,比較方便

1

intmain()212

13for (i = 0; i)

1419}20

21return0;

22 }

《六》一種錯誤的用法,注意!

1 #include 2

3int

main()

4,};

6int **parray =null;

78 parray =iarray;

910 printf("

array[0][0] = %d\n

", parray[0][0

]);11 printf("

array[1][2] = %d\n

", parray[1][2

]);12

13return0;

14 }

指標訪問二維陣列

之前對陣列的概念一直沒有理解透徹,只覺得陣列名就是個常量指標而已,用法和基本的指標差不多。所以當我嘗試用二級指標去訪問二維陣列時,就經常會出錯。下面就是剛開始寫的乙個錯誤的程式 include int main int parray null parray iarray printf array 0...

二維陣列的幾種表示方法

名稱 二維陣列的幾種表示方法 說明 常用的有以下幾種二維陣列的表示方法 1 第一種是普通的二維陣列的表示方法。2 第二種是用一維陣列來表示二維陣列,從顯示的元素位址可以看出,二維陣列和一維陣列表示的二維陣列在記憶體中的儲存方式其實是一樣的,不過使用二維陣列看起來要簡單些,只要不用進行位址轉換。3 第...

二維陣列 二維陣列和指標

include using namespace std int main 如上面這段程式所示,通過取位址符 指標 p 獲得了變數 a 的位址,那麼解引用符 就可以從 p 中得到變數 a 的值。也就是說,p a和 p a是等價的。p 是變數 a 的位址,從 p 中就可以取出 a 的值。反之,能從 p ...