二維陣列與指向二維陣列的指標

2021-08-26 06:05:06 字數 427 閱讀 9237

指標陣列: 是陣列元素為指標的陣列,本質為陣列。int * p[n];

陣列指標: 是指向陣列首元素的指標,其本質為指標。int (*p)[n];

的優先順序高於指標運算子*。

操縱二維陣列:

int a[i][j];

int (*pa)[j];

pa = a;

a :代表該二維陣列的首位址

pa :代表該二維陣列的首位址

*pa :也代表該二維陣列的首位址

*(pa+n) :代表第n行的首位址(下標從0開始)

*pa+i :代表*pa的位址再加i個位址大小的偏移量。(一般是4個位元組/每個位址大小)

*(pa+i)+j :代表第i行第j個元素的位址

*(*(pa+i)+j) :代表第i行第j個元素的內容(也就是值)

pa移動的單位是[行]

二維陣列與二維指標

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型別...

C語言二維陣列指標(指向二維陣列的指標)

二維陣列的定義 int matrix 見圖的操作那篇文章裡面的定義 或者這篇文章提供了另外一種方法。二維陣列在概念上是二維的,有行和列,但在記憶體中所有的陣列元素都是連續排列的,它們之間沒有 縫隙 以下面的二維陣列 a 為例 int a 3 4 從概念上理解,a 的分布像乙個矩陣 0 1 2 3 4...