一道程序员题目

是2001年上午的题:
二维数组 X 的行下标范围是0~5,列下标范围是1~8,每个数组元素占六个字节,则该数组的体积为__(6)__个字节,若已知 X 的最后一个元素的起始字节地址为382,则 X 的首地址(即第一个元素的起始字节地址)为 __(7)__,记为 Xd。若按行存储,则 X[1,5] 的起始地址是 __(8)__, 结束字节地址是 __(9)__。若按列存储,则 X[4,8]的起始字节地址为__(10)__。

这道题该怎么做呢?能写出详细过程吗?
或者说这类题目应该怎么做?
谢谢了啊~~~~

(6). 行下标范围是0~5,列下标范围是1~8 总的数组元素个数为:6*8=48,每个数组元素占六个字节,总共是48*6=288(字节)
(7). 最后一个元素的起始字节地址为382,所以首地址为382-288+6=100
其中6为最后一个元素所占用的字节数。
(8). 按行存储,X[1,5] 的起始地址:首地址xd+【(1-0)*8+(5-1)】*6=172
(9). 结束地址为:172+6=178
(10). 按列存储,则 X[4,8]的起始字节地址:首地址xd+【(8-1)*6+4】*6=376
可以这样理解:按列存储就是先存储第一列的数据元素。再存储第二列的这样的存储方式。同理可以知道按行存储。
按列存储,则 X[4,8]的起始字节地址为__(10)__ 如X[4,8]的后一个 元素就是X[5,8]。

看来你是对数据结构不太了解,你可以先学习一下数据结构的知识,数组是最基本的,如果这都不弄懂的话,以后的题目会很难做。还是从根本上解决问题吧,在这里我很难做详细的解释,希望我的回答能够帮上你的忙。

有什么问题可以给我发消息。百度基本上都在线。。

参考资料:学习!!!!

温馨提示:答案为网友推荐,仅供参考
相似回答