数据结构求数组元素地址
设二维数组A[-20..30,-30..20](此处在C语言中表示即是50行(从-20到30)50列(从-30到20)的数组),每个元素占有4个存储单元,存储起始地址为2...
设二维数组A[-20..30,-30..20](此处在C语言中表示即是50行(从-20到30)50列(从-30到20)的数组), 每个元素占有4 个存储单元, 存储起始地址为200.如按列优先顺序存储,则元素A[-18,-25]的存储地址为 ?
答案是1228,怎么做的? 展开
答案是1228,怎么做的? 展开
5个回答
展开全部
记住公式啊 这是按列存储的 A[m][n]
A[i][j]=LOC(a00)+(j*m+i)*L
在这个题中
m=50,n=50;
所以A[-18,-25]=200+(5*50+2))*4=200+252*4=200+1028=1208
你的答案不对 应该是1208 我换了两种方法算都是1208
A[i][j]=LOC(a00)+(j*m+i)*L
在这个题中
m=50,n=50;
所以A[-18,-25]=200+(5*50+2))*4=200+252*4=200+1028=1208
你的答案不对 应该是1208 我换了两种方法算都是1208
更多追问追答
追问
m,n不是51吗?-30到20的长度是51,不是这样吗?
追答
呵呵 不好意思啊 当时没有注意 我说怎么答案少了20呢
A[i][j]=LOC(a00)+(j*m+i)*L
在这个题中
m=51,n=51;i=2;
所以A[-18,-25]=200+(5*51+2))*4=200+257*4=200+1028=1228
展开全部
八年了,数据结构复习到这里。我本来想问这个问题,后来自己弄懂了。题主答案没问题,上面两个回答全有毛病,要注意-20行到30行有51行,应该就算出答案1228了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=200+[(-25-(-30))*50+(-18-(-20))]*4=1228
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
并不是50行50列,而是51行51列。LOC=200+(5×51+2)×4=1228
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询