0

下图是 8 个 8 位(1 字节)字符数组使用的内存图。对 8 个 32 位整数和 8 个 64 位双精度数组做类似的图表。

    Byte (Character)    1   2   3   4   5   6   7   8
    Index               0   1   2   3   4   5   6   7
    Address             n   n+1 n+2 n+3 n+4 n+5 n+6 n+7

各位大佬知道这是什么意思吗?

32位整数的字节是0001吗?它的地址呢?

4

2 回答 2

1

这个我可以试一试。我相信它只展示了两件事:索引是如何将数据作为数组寻址,而地址是内存中的任意地址。

对于 32 位的情况(假设为小端),您将拥有

Word      1                |  2  
Index     0                |  1  
Address   n+0 n+1 n+2 n+3  |  n+4 n+5 n+6 n+7

前 4 个地址字节是 little endian 32 位第一个字。第二个 4 个地址字节是下一个 32 位字。继续。

于 2013-04-16T02:44:20.283 回答
1

我认为这是一个旨在让您思考数组索引和实际内存地址之间差异的练习。索引 1 处的整数,即myarray[1],将在 address 处找到,n+4因为 32 位整数是 4 字节宽。

所以也许 32 位的情况看起来像这样?

32-Bit Integer      1     2     3    4    5    6    7    8
Index               0     1     2    3    4    5    6    7
Address             n   n+4   n+8 n+12 n+16 n+20 n+24 n+28
于 2013-04-16T02:50:56.300 回答