|
|
知识路径: > 计算机科学基础 > 数据结构与算法基本概念 > 数据结构与算法 > 数组和广义表 > 数组 >
|
相关知识点:2个
|
|
|
|
由于多维数组在内存中排列成一个线性序列,因此,若知道第一个元素的内存地址,如何求得其他元素的内存地址?可以将它们的地址排列看成是一个等差数列,假设每个元素占1个字节,元素aij的存储地址应为第一个元素的地址加上排在aij前面的元素所占用的单元数,而aij的前面有i行(0~i-1)共i×n个元素,而本行前面又有j个元素,故aij的前面一共有i×n+j个元素,设a00的内存地址为LOC (a00),则aij的内存地址按等差数列计算为LOC (aij)=LOC(a00)+(i×n+j)×1。同理,三维数组Am×n×p按行优先存放的地址计算公式为:LOC (aijk)=LOC(a000)+(i×n×p+j×p+k)×1。
|
|
|
|
|
|
|
|