机器和数组元素存储的字节序

时间:2019-05-14 18:57:32

标签: c++ arrays memory endianness

我担心数组如何在C中存储。例如,我有这样的数组:

unsigned char array[] = {1, 0};

我有Little endian机器,据我所知,该数组的元素将以相反的顺序存储在内存中,例如[0,1]。

但是当我执行这样的代码时:

std::cout << (void*)&array[0] << std::endl;
std::cout << (void*)&array[1] << std::endl;

我将得到两个地址。第二个将大一。

我不明白这一点,因为如果将0元素首先放在内存中,然后再放置1,那么为什么数组的第一个元素(值1)的地址小于第二个元素(值0)。

0 个答案:

没有答案