怎麼用指標操作二維陣列

2021-07-31 21:10:49 字數 1116 閱讀 2751

本人第一次發部落格,請大家多多指教

我們都知道一維陣列的我們都很熟悉:

int a[5] = ;

int*p = a;

int i, j;

這裡p指標是int型指標,這裡的賦值是將陣列a的記憶體中的首位址啊a在記憶體中的位置,位址傳給p,這樣p就能代表a陣列了

這時我們可以用平p,p……依次代表陣列a,a……;

接下來我們看二維陣列,

int b[2][3] = ;

int* p2 = b[0];

這裡p2指標是int型指標,這裡的賦值是將陣列b在記憶體中的首位址(b在記憶體中的位置,位址)傳給p2,這樣p2中的值就是b的位址。
此時我們有// p2[0] =  b[0][0] ,p2[1] =  b[0][1] ,p2[2] =  b[0][2]

// p2[3] = b[1][0] ,p2[4] = b[0][1] ,p2[5] = b[0][2]

但對於操作時盡量要指標操作和陣列本身操作要分開來

接下來是對於這兩種操作的一小段**:

#include#includeusing namespace std;

int main()

,};//定義乙個二維陣列a

int b[2][3]=;//定義乙個二維陣列b

int s[2][3];//宣告乙個二維陣列 s用來存放兩個陣列的和

int *p,*q,*su;//宣告三個int型別的指標 用來指向三個二維陣列

//*****下邊是分別指向*****

p=a[0];

q=b[0];

su=s[0];

int sum;

//******用指標來操作二維陣列******

for(i=0;i<6;i++)

//******用陣列本身來操作二維陣列******

printf("the sum of the arrays is \n

printf("\n");

} printf("}");

}

用指標輸出二維陣列

include stdafx.h include using namespace std int tmain int argc,tchar argv int p 指標p是指向整型資料的指標變數 for p a 0 pcout endl int pp 4 指標pp是指向由4個元素組成的一位陣列的指標變...

二維陣列 二維陣列和指標

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

二維陣列與二維指標

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