本人第一次發部落格,請大家多多指教
我們都知道一維陣列的我們都很熟悉:
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 而利用二維陣列線性儲存的特性,可以將二維陣列當作一維指標方便的在函式之間傳遞 如 將乙個二維陣列賦值給乙個動態二維陣列,引數設定為一維指...