leiyahui

纸上得来终觉浅,绝知此事要躬行
数组的静态存储方式

1 数组元素的静态存储映像

依照数组的定义,数组的存储方式只能是顺序的。由于计算机的存储空间是一维的,所以所以要将数组中的源于按照某种次序映射到一维存储空间,也就是降维问题。

C语言中是按照低维下标优先的原则进行存储的2 静态数组元素地址计算

为了实现数组的随机存储,也就是能够通过下标直接找到相应的地址,就需要建立一个存储位置与下标的关系

一维数组假设数组中每个元素占用L个单位。则

若Loc(a0)=b;

则Loc(a1)=b+L,Loc(ai)=b+i*L

二维数组 A[n][n]

Loc(a00)=b;

则Loc(ai0)=b+L*i*n

则Loc(aij)=b+(n*i+b)*L

三维数组 A[m][n][p]

Loc(a000)=b

Loc(ai00)=b+i*n*p*L

Loc(aij0)=b+(i*n*p+j*p)*L

Loc(aijk)=b+(i*n*p+j*p+k)*L

 

posted on 2015-11-20 09:41  雷大叔  阅读(565)  评论(0)    收藏  举报