二维数组中的元素求其存储地址

数组a[m][n] 按行序为主序存放

已知二维数组a[m][n]按行序为主序存放,每个元素占L个字符,其中首地址为a[x][y]地址为Loc1,元素a[i][j]的地址为:

Loc(a[i][j]) = Loc1 + [n*(i-x)+(j-y)]*L

数组a[m][n] 按列序为主序存放

已知二维数组a[m][n]按列序为主序存放,每个元素占L个字符,其中首地址为a[x][y]地址为Loc2,元素a[i][j]的地址为:

Loc(a[i][j]) = Loc2 + [m*(j-y)+(i-x)]*L

例题

(1)已知二维数组a[5][4]按行序为主序存放,每个元素占6个字符,其中首地址为a[1][1]地址为120,元素a[4][2]的地址为:

Loc(a[4][2]) = 120 + [4*(4-1)+(2-1)]*6 = 198

(2)已知二维数组a[10][20]按列序为主序存放,每个元素占1个字符,其中首地址为a[0][0]地址为120,元素a[6][12]的地址为:

Loc(a[6][12]) = 120 + [10*12+6]*1 = 246
  • 16
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值