正在加载图片...
例如,二维数组Am按“行优先顺序”存储在内存中, 假设每个元素占用d个存储单元。 元素a的存储地址应是数组的基地址加上排在ai前 面的元素所占用的单元数。因为a位于第行、第j 列,前面-1行共有(1)×n个元素,第行上a前 面又有j-1个元素,故它前面一共有(-1)xn+j-1个 元素,因此,ai的地址计算函数为 LoC(a)=LOC(a1)+(-1)*n+-1]*d 同样,三维数组A按“行优先顺序”存储,其地址 计算函数为 Loc(aik)=Loc(a1)+[(1-1)n*p+(-1)*p+( 1)]*d例如,二维数组Amn按“行优先顺序”存储在内存中, 假设每个元素占用d个存储单元。 元素aij的存储地址应是数组的基地址加上排在aij前 面的元素所占用的单元数。因为aij位于第i行、第j 列,前面i-1行一共有(i-1) ×n个元素,第i行上aij前 面又有j-1个元素,故它前面一共有(i-1) ×n+j-1个 元素,因此,aij的地址计算函数为: LOC(aij)=LOC(a11)+[(i-1)*n+j-1]*d 同样,三维数组Aijk按“行优先顺序”存储,其地址 计算函数为: LOC(aijk)=LOC(a111)+[(i-1)*n*p+(j-1)*p +(k- 1)]*d
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有