目录

易语言数组研究

目录

首先编写一个3 * 3 * 3的三位数组,看看内存布局,发现内存的顺序如下:

a [1] [1] [1] = 1
a [1] [1] [2] = 2
a [1] [1] [3] = 3
a [1] [2] [1] = 4
a [1] [2] [2] = 5
a [1] [2] [3] = 6
a [1] [3] [1] = 7
a [1] [3] [2] = 8
a [1] [3] [3] = 9

a [2] [1] [1] = 10
a [2] [1] [2] = 11
a [2] [1] [3] = 12
a [2] [2] [1] = 13
a [2] [2] [2] = 14
a [2] [2] [3] = 15
a [2] [3] [1] = 16
a [2] [3] [2] = 17
a [2] [3] [3] = 18

a [3] [1] [1] = 19
a [3] [1] [2] = 20
a [3] [1] [3] = 21
a [3] [2] [1] = 22
a [3] [2] [2] = 23
a [3] [2] [3] = 24
a [3] [3] [1] = 25
a [3] [3] [2] = 26
a [3] [3] [3] = 27

不难理解了,内存索引顺序是按下标从后往前排列的。

假设某个三维数组边界分别为a、b、c(a>1 且 b>1 且 c>1),空间大小则为a * b * c。

那么下标分别是x、y、z的元素在内存中的位置应该是 xbc + yc + z。