环境需要vs2012以上
#include <iostream>
using namespace std;
int main()
{
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
//遍历数组并输出数组元素的4中方法
cout << "第一种输出:" << endl;
for (auto &ai : a) //利用for循环,遍历外层数组,这是ai必须是引用
for (auto i : ai) //利用for循环遍历内层数组
cout << i << " "; //输出每一个数组元素
cout << endl;
cout << "第二种是输出:" << endl;
for (int i = 0; i != 3; ++i) //先遍历外层数组
for (int j = 0; j != 4; ++j) //再遍历内层数组
cout << a[i][j] << " "; //通过下标输出对应元素
cout << endl;
cout << "第三种输出:" << endl;
for (auto p = a; p != a + 3; ++p) //p指向含有4个整数的数组,p=a就是p指向a的第一个内层数组
for (auto q = *p; q != *p + 4; ++q) //q指向4个整数数组的首元素,也就是说q指向一个整数
cout << *q << " "; //通过解引用输出数组元素的值
cout << endl;
cout << "第四种输出" << endl;
for (auto p = begin(a); p != end(a); ++p) //用p(begin(a))指向a的内层数组的第一个数组,用end(a)指向a的尾
for (auto q = begin(*p); q != end(*p); ++q) //q指向内层数组的第一个元素。
cout << *q << " "; //用解引用输出元素值
cout << endl;
return 0;
}