A-A+
二维数组M的成员是6个字符(每个字符占一个存储单元)组成的串 行下标i的范围从0到8 列下标
问题详情
二维数组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]。