一般一维数组我能分清用法,可是一遇到二维或者二维以上数组就难以下手,不知如何排列。如何可以清楚的分析二维以上的数组?
二维数组可以看成是数组的数组,三维数组可以看成是二维数组的数组,以此类推。
二维数组从左向右计算,比如a[5][6],在a[0]时有a[0][0],a[0][1],a[0][2],a[0][3],a[0][4],a[0][5],a[1]以及后面的也是这么计算,三维数组以此相同。
阅兵方队是典型的二维,需要行数、列数才能确定某个士兵的位置。
魔方玩具是典型的三维,需要行数、列数、高度才能确定某个方块的位置。
假如定义了int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}, 里面的{ }相当于一行,每一行有四列。
即定义了三行四列的二维数组
数组元素排列时先填充第一维(最右侧的[]),填满后再填充第二维,对应的存储位置如下图所示:
也就是说a[0][0] = 0
a[0][1] = 1
a[0][2] = 2
a[0][3] = 3
a[1][0] = 4
a[1][1] = 5
a[1][2] = 6
a[1][3] = 7
a[2][0] = 8
a[2][1] = 9
a[2][2] = 11
a[2][3] = 12