指標陣列: 是陣列元素為指標的陣列,本質為陣列。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...