遍历多维数组(Traverse Multidimensioned Arrays)
别离利用下标和指针遍历二维数组。
利用指针遍历
#include <iostream>
using namespace std;
int main()
{
int ia[3][4] = { // 3 个元素,每个元素是一个有4 个int 元素的数组
{0, 1, 2, 3} , // 0 行的初始化列表
{4, 5, 6, 7} , // 1 行的初始化列表
{8, 9, 10, 11} // 2 行的初始化列表
};
int (*p)[4];
for (p = ia; p != ia + 3; ++p)
for (int *q = *p; q != *p + 4; ++q)
cout << *q <<endl;
return 0;
}
利用下标遍历
#include <iostream>
using namespace std;
int main()
{
int ia[3][4] = { // 3 个元素,每个元素是一个有4 个int 元素的数组
{0, 1, 2, 3} , // 0 行的初始化列表
{4, 5, 6, 7} , // 1 行的初始化列表
{8, 9, 10, 11} // 2 行的初始化列表
};
int (*p)[4];
for(size_t i=0; i!=3; i++)
for(size_t j=0; j!=4; j++)
cout<<ia[i][j]<<endl;
return 0;
}