首页 > 试题广场 >

有个二维数组 A(6*8),每个元素占 6 字节,起始地址为

[填空题]
有个二维数组 A(6*8),每个元素占 6 字节,起始地址为 1000,请问最后一个元素 A[5][7]的起始地址为1,数组A占内存大小为2字节,假设以行优先,则A[1][4]起始地址为3
都不该错的
发表于 2015-10-24 11:42:30 回复(0)
从简单的先开始算:
(2)所占用的内存:6*8*6=288个字节
(1)算最后一个元素的起始地址:第一个元素的起始地址为1000,而中间有6*8个元素,则最后一个元素之前放了6*8-1个元素即47个元素,所以放完47个元素后的地址即为最后一个元素的起始地址:1000+47*6=1282
(3)算A[1][4]的起始位置,那A[1][4]前面放了第0行8个元素+第1行的4个元素=12个元素,所以起始地址:1000+12*6=1072
发表于 2017-03-20 21:46:13 回复(1)
1282 288 1072 数组一共6*8=48个元素,每个元素6字节,共占内存48*6=288字节,所以最后一个元素结束地址1000+288=1288,最后一个元素起始地址就是1288-6=1282。 A[1][4]起始地址1000+6*(1*8+4)=1072
发表于 2017-02-27 11:02:56 回复(0)
求的是字节地址,还是位地址啊?什么都没说

发表于 2016-03-04 09:20:34 回复(0)
加减乘除
发表于 2015-09-08 10:15:31 回复(0)
1:1282
2:288:
3:1072

A[5][7]之前,一共有5*8+7个元素,所以起始的地址为1000+6*(5*8+7) = 1000 + 6*47=1282;
数组一共有6*8个元素,即48个元素,占用内存大小为48*6=288;
因为是按行优先,A[1][4]之前有1*8+4=12个元素,所以其起始地址为1000+12*6=1072;
编辑于 2015-09-21 10:52:57 回复(3)
这种求A[m][n]的地址的问题,全部转化为:下标从1开始算起,按照行存储的,求第k个数的地址的问题。
因为A[5][7]下标从0算起,转化为下标从1算起,即第6行第8个数,即第48个数,求第48个数的地址。
第1个数的地址为(1-1)x6+1000;第2个数的地址为(2-1)x6+1000;...以此类推,
第48个数地址为(48-1)x6+1000 = 1282
整个数组大小为元素个数x每个元素字节= 48x6 = 288
A[1][4]的地址,A[1][4]为第2行第5个数,即第1x8+5=13个数的起始地址,即(13-1)x6+1000 = 1072,大家这样去做,想错都难。

发表于 2017-06-02 21:00:42 回复(0)
1286,288,1150
发表于 2017-08-07 14:57:35 回复(0)
第三问刻意说了下行优先,害得我怀疑第一问是列优先了
发表于 2016-12-31 16:33:57 回复(0)
地址不是那种十六位进制存的东西吗。怎么一个字节又变成一个地址了求解答呀
发表于 2016-12-04 08:19:43 回复(0)
这题目也太不严谨了吧,占内存的大小难道没有单位吗
发表于 2016-05-26 11:20:31 回复(0)
数组的存储空间是288字节

发表于 2016-04-26 14:33:39 回复(0)
最后一个元素的起始地址其实就是去掉最后一个元素来算
发表于 2016-04-11 00:43:08 回复(0)
不要疏忽了数组的下标是从零开始的。
发表于 2016-04-02 10:16:04 回复(0)
最后一个元素 无论是行优先还是列优先 6×8*6-6 +1000 a「1.4」 8*6+5*6+1000-6
编辑于 2016-03-11 19:53:03 回复(0)
什么叫做按行优先?
发表于 2016-03-04 15:47:50 回复(0)
1282不应该是倒数第二个元素的结束地址吗,那最后一个元素的其实地址不应该是1283吗?求解答
发表于 2016-03-04 00:28:45 回复(1)
不是16进制的?
发表于 2015-09-04 13:36:49 回复(0)
擦,为什么我全填对了给我全算错了
发表于 2015-09-01 08:05:05 回复(2)
1. 111A  
2. 288 byte
3. 1048  
解释如下面所说,但是请问地址是十进制表示吗?   全部需要换算成16进制..
发表于 2015-04-12 20:44:55 回复(0)