康老师

如何以主序存储二维数组?

2023-04-16 分类:百科

TIPS:本文共有 486 个字,阅读大概需要 1 分钟。

二维数组A[10][20]采用列序为主方式存储,每个元素占10个存储单元,且A[0][0]的存储地址是2000,则A[6][12]的地址是 2000+10*(12*10+6)=3260

二维数组已列为主序怎么存储

一般情况下存储单元是单一的存储结构,而数组可能是多维的结构,则用一维数组存储数组的数据元素就存在着次序约定的问题,所以就有了以列序为主序和以行序为主序的存储方式。

以列序为主序的存储方式的存储地址计算公式:

LOC(i,j) = LOC(0,0) + (m*(j-1)+(i-1))*L

LOC(i,j)是a(i,j)的存储位置 LOC(0,0)是a(0,0)的存储位置(即二维数组的起始存储位置,为称为基地址或基址)m是数组的总行数,L是单个数据元素占据的存储单元。

以行序为主序的存储方式的存储地址计算公式:

LOC(i,j) = LOC(0,0) + (n*(i-1)+(j-1))*L

LOC(i,j)是a(i,j)的存储位置 LOC(0,0)是a(0,0)的存储位置(即二维数组的起始存储位置,为称为基地址或基址)n是数组的总列数,L是单个数据元素占据的存储单元。

小编精心整理的这篇内容:如何以主序存储二维数组?,如果你看到此处请一定要收藏哦!

阅读剩余内容
网友评论
显示评论内容(3) 收起评论内容
  1. 2023-11-18 03:26容辰[甘肃省网友]36.5.195.155
    这个问题其实很有趣,可以尝试使用一维数组来存储,通过一定的映射关系来模拟二维数组的结构,挺有挑战性的。
    顶0踩0
  2. 2023-09-07 03:54寅时不寐[吉林省网友]101.102.101.27
    标签分隔:
    顶10踩0
  3. 2023-06-27 04:23隱忍。[湖南省网友]203.32.196.74
    使用
    顶40踩0
相关阅读
小编推荐