二维数组M的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放M至少需要_________个字节;M的第8列和第5行共占______个字节;若M按行优先方式存储,元素M[8][5]的起始地址与当M按列

admin2014-12-25  40

问题 二维数组M的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放M至少需要_________个字节;M的第8列和第5行共占______个字节;若M按行优先方式存储,元素M[8][5]的起始地址与当M按列优先方式存储时的_______元素的起始地址一致。

选项

答案540 108 M[3][10]

解析 按题意二维数组M共有9行(行号0~8),每行有10列(列号1~10),合计有90个元素,每个元素占6个字节,所以存放M至少需要90×6=540个字节。    M的第8列上若有9个元素,第5行上共有10个元素,合计有19个元素,但是其中有两个元素是重复的(M[5][8]),故实际有18个元素,共需占用18×6=108个字节。    元素M[8][5]在数组中位于第9行的第5列,当按行优先方式存储时,在其前面已经存储了8×10+4=84个元素,因此M[8][5]是顺序存储的第85个元素。而当按列优先方式存储时,第85个元素应该是位于第10列的第3行上(前9列共有81个元素,第10列有4个元素),即元素M[3][10]。
转载请注明原文地址:https://jikaoti.com/ti/0RLaFFFM
0

最新回复(0)