我必须为学校做一个小作业。我正在用 C 写这个。问题是:
给定
uint16_t A[] = { 0xabce, 0x43fe, 0xcf54, 0xffff };
uint8_t *p = (uint8_t *)&A[0];
的价值是p[3]
多少?
我做了一些研究,发现这些数字将使用 little-endian 重新输入我的计算机。所以
p[] = {171, 67, 207, 255}
但是,当我打印时,p[]
我得到
p[0] = 206
p[1] = 171
p[2] = 254
p[3] = 67
我对此感到非常困惑,谁能告诉我为什么会这样?