二维数组是如何存储的

设W为一个二维数组,行下标i从0到7,列下标j从0到3,若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为________。为什么?我知... 设W为一个二维数组,行下标i从0到7 ,列下标j从0到3 ,若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为________。
为什么?我知道答案哦
展开
 我来答
百度网友96ffcf7
推荐于2017-09-04 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118726
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部

二维数组A[m][n]可以视为由m个行向量组成的向量,或者是由n个列向量组成的向量。

由于计算机的内存是一维的,多维数组的元素应排成线性序列后存入存储器。数组一般不做插入和删除操作,即结构中元素个数和元素间的关系不变。所以采用顺序存储方法表示数组。

1、  行优先存储

将数组元素按行向量排列,第i+1个行向量紧接在第i个行向量后面。

【例】二维数组A[m][n]按行优先存储的线性序列为:

A[0][0]、A[0][1]…A[0][n]、A[1][1]、A[1][1]…A[1][n]…A[m][n]、A[m][1]…A[m][n]

在PASCAL和C语言中数组按行优先顺序存储。

2、  列优先存储

将数组元素按列向量排列,第i+1个列向量紧接在第i个列向量后面。

【例】二维数组A[m][n]按列优先存储的线性序列为:

A[0][0]、A[1][0]…A[m][0]、A[0][1]、A[1][1]…A[m][1]…A[m][1]、A[0][n]…A[m][n]

ORTRAN语言中,数组按列优先顺序存储。

百度网友158e0db
2011-12-26 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:106万
展开全部
前面一共需要6*4+3个数据,每个数据4个字节,怎么也得需要4*27个字节,这个地址我就不清楚了,一个地址是2个字节?可是要弄到108还是有点难度

6*4+3=27
100+27(?)=127
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我们都爱百合花
2013-03-24
知道答主
回答量:1
采纳率:0%
帮助的人:1524
展开全部
答案应该是:100+(6*4+3)*4=100+108=208
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhanghuolei
2011-12-26 · TA获得超过1233个赞
知道小有建树答主
回答量:591
采纳率:66%
帮助的人:256万
展开全部
6*4+4=28
100+28=128
追问
答案是108,是答案的错吗?
追答
一行4个元素
一列8个元素
最多是4*8=32个元素
最后一个元素的地址是100+32=132
绝对答案错
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-12-26
展开全部
100+ (6+1)*3+3
追问
答案是108,给你原题:     设W为一个二维数组,其每个数据元素占用4个字节,行下标i从0到7 ,列下标j从0到3 ,则二维数组W的数据元素共占用___128____个字节。W中第6 行的元素和第4 列的元素共占用_____44____个字节。若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为_______108___。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式