#include
using namespace std;
int main()
,};int (*a)[10]=v;
coutcout<<**(a+1)<0012fef8
0012fef8
0012fef8
111122
通過上面的例子,我們總結二維陣列和陣列指標的用法如下:
一維陣列a,如int a[5],a相當於乙個指標常量(指向內容不能變),型別為int [5] (等價於指標中的型別int *),指向這個陣列的首個元素,a的值為&a[0]。
二維陣列b,如int b[2][5],b相當於乙個指標常量,型別為int [2] [5] (等價於指標中的型別int (*)[5]),指向這個陣列的首行元素,b的值為&b[0][0]。具體用法如下:
① b+1表示乙個新指標,其指向的位置相對於b向後移動了1*sizeof(陣列每行),即指向陣列的第二行元素。其值為&b[1][0]。注意,這裡不能用b++,因為b的值不能改變。
②*b也相當於乙個指標,指向b所指向的那行元素的首個元素,型別為int [5],*b的值也為&b[0][0]。
③b[0]用法同*b,表示指向b中首行元素的首個元素的指標,型別也為int [5],b[0] 的值同樣是&b[0][0],b[1]對應於*(b+1)。
④b[i]+j, *(b+i)+j 就表示了指向二維陣列b中位置為(i ,j)的元素的指標。
⑤雖然b,*b,b[0]的值相同,但由於其指向型別不同(或者說自身型別不同),用法就不一樣。
⑥如果定義乙個陣列指標,如int (*p) [5]=b,上述b的用法都適用於p。
二維陣列與指標 指標陣列 陣列指標的用法
二維陣列 和指標 用指標表示二維陣列元素。要用指標處理二維陣列,首先要解決從儲存的角度對二維陣列的認識問題。我們知道,乙個二維陣列在計算機中儲存時,是按照先行後列的順序依次儲存的,當把每一行看作乙個整體,即視為乙個大的陣列元素時,這個儲存的二維陣列也就變成了乙個一維陣列了。而每個大陣列元素對應二維陣...
二維陣列與指標 指標陣列 陣列指標的用法
2018年03月12日 18 16 20 二維陣列和指標 用指標表示二維陣列元素。要用指標處理二維陣列,首先要解決從儲存的角度對二維陣列的認識問題。我們知道,乙個二維陣列在計算機中儲存時,是按照先行後列的順序依次儲存的,當把每一行看作乙個整體,即視為乙個大的陣列元素時,這個儲存的二維陣列也就變成了乙...
二維指標陣列 陣列指標的用法
1.廢話不多說,先上 include using namespace std int main void int a 5 v 指標陣列,指標指向陣列 a 5 a 5 裡面是int數值 該指標等於v的位址 cout a 1 a是v 0 0 的位址。0x22fe04 cout a 2 輸出0x22fe0...