我担心数组如何在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)。