1. 程式人生 > >二維陣列與陣列指標

二維陣列與陣列指標

        int const rowSize = 3;
int const colSize = 4;


int a[rowSize][colSize] = { 0 };
int(*p)[colSize] = a; //陣列指標  p是指標,指向一維陣列,每個一維陣列有4個int元素
//使用二級指標賦值
for (int i = 0; i < rowSize; i++)
{
for (int j = 0; j < colSize; j++)
{
*(*(p + i) + j) = i + j;
cout << *(*(p + i) + j) << ','; //等價與p[i][j] ==> a[i][j]
}
cout << endl;
}

//使用陣列指標來輸出
for (int(*ip)[4] = a; ip < a + rowSize; ip++)
{
for (int *iq = *ip; iq < *ip + colSize; iq++)
{
cout << *iq << ',';
}
cout << endl;
}
//使用typdef簡化定義
typedef int int4[4];
for (int4 *ip = a; ip < a + rowSize; ip++)
{
for (int *iq = *ip; iq < *ip + colSize; iq++)
{
cout << *iq << ',';
}
cout << endl;
}