二维数组与数组指针

        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;
}

猜你喜欢

转载自blog.csdn.net/m1m2m3mmm/article/details/79317264