#include <iostream>
using namespace std;
int main(){
int a[3][3][3] = {1};
cout << *(*(*a)) << endl << endl;
a[0][0][1] = 2;
cout << *(*(*(a)) + 1) << endl;
a[1][0][0] = 3;
cout << *(*(*(a + 1))) << endl;
//数组名是往左脱衣,得地址的,降维?
//取元素是往右层层穿衣,得值,升维?
a[0][1][0] = 8;
cout << *(*(*(a) + 1)) << endl;
//试下5维数组?
int five[5][4][3][2][8] = {0};
five[3][7][3][2][1] = 258;
cout << *(*(*(*(*(five + 3) + 7) + 3) + 2) + 1) << endl;
}
吐槽一下,有些书讲的不明不白,最好结合百度百科,博客文章,加上自己的思考及测试,去学习。
递归定义:当前维的数组名是上一维数组的首元素地址。