二维数组是如何存储的
设W为一个二维数组,行下标i从0到7,列下标j从0到3,若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为________。为什么?我知...
设W为一个二维数组,行下标i从0到7 ,列下标j从0到3 ,若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为________。
为什么?我知道答案哦 展开
为什么?我知道答案哦 展开
5个回答
推荐于2017-09-04 · 知道合伙人互联网行家
关注
展开全部
二维数组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语言中,数组按列优先顺序存储。
展开全部
前面一共需要6*4+3个数据,每个数据4个字节,怎么也得需要4*27个字节,这个地址我就不清楚了,一个地址是2个字节?可是要弄到108还是有点难度
6*4+3=27
100+27(?)=127
6*4+3=27
100+27(?)=127
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案应该是:100+(6*4+3)*4=100+108=208
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
6*4+4=28
100+28=128
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___。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询