假设数组各维的下界是1,按“行优先顺序”存储假 设每个元素占用d个存储单元。 二维数组Amn,Q的地址计算函数为 LoC(ail=LoC(an+[(i-1)*n+j-1]*d 三维数组Amp,Q的地址计算函数为 LoC( aik)=LOC|1+(1)*n*p+-1)*o+(k-1)]*d
假设数组各维的下界是1,按“行优先顺序”存储,假 设每个元素占用d个存储单元。 二维数组Amn, aij的地址计算函数为: LOC(aij)=LOC(a11)+[(i-1)*n+j-1]*d 三维数组Amnp, aijk的地址计算函数为: LOC(aijk)=LOC(a111)+[(i-1)*n*p+(j-1)*p +(k-1)]*d
更一般的二维数组是A[C1.d,C2C2],这里C1,C2不 定是1。 Q的地址计算函数为 oC ail=LoC (acica)+[i-Cl*(d2-C2+1)+j-C2l*d ●例如,在C语言中,数组各维下标的下界是0,因此在 C语言中,二维数组的地址计算公式为: LOC)=LOC(00+°(d2+1)+)*d
更一般的二维数组是A[c1..d1,c2..d2],这里c1,c2不一 定是1。 aij的地址计算函数为: LOC(aij)=LOC(ac1c2 )+[(i-c1)*(d2-c2+1)+j-c2)]*d 例如,在C语言中,数组各维下标的下界是0,因此在 C语言中,二维数组的地址计算公式为: LOC(aij)=LOC(a00)+(i*(d2+1)+j)*d
最基本的原理 A1n的起始地址 第一个元素 十 该元素前面、单位 的起始地址的元素个数长度
最基本的原理 Ai1…in的起始地址 = 第一个元素 的起始地址 该元素前面 的元素个数 ╳ 单位 长度 〸
程序员试题
程序员试题
2006-1 对于二维数组a0.4,1…,5,设每个元素占1个存储单 元,且以行为主序存储,则元素a[2,1]对于数组空间 起始地址的偏移量是(40)。 (40A.5 B.10 C.15 D.25 2003 设数组a3.16,5,.20的元素以列为主序存放,每个元素 占用两个存储单元,则数组元素aijl(3≤≤16,55≤20)的 地址计算公式为(1)。 (11)A.a-118+2i+28j B.a-116+2i+28i C.a-144+2i+28i D.a-146+2i+2
2006-1 对于二维数组a[0…4,1…5],设每个元素占1个存储单 元,且以行为主序存储,则元素a[2,1]相对于数组空间 起始地址的偏移量是___(40)___。 (40)A.5 B.10 C.15 D.25 2003 设数组a[3..16,5..20]的元素以列为主序存放,每个元素 占用两个存储单元,则数组元素a[i,j](3≤i≤16,5≤j≤20)的 地址计算公式为___(11)___。 (11)A.a-118+2i+28j B.a-116+2i+28j C.a-144+2i+28j D.a-146+2i+28j