给定代码:
...
int x = 123
...
unsigned char * xx = (char *) & x;
...
我有 xx[0] = 123
、xx[1] = 0
、xx[2] = 0
等
有人可以解释这里发生了什么吗?我对一般的指针没有很好的理解,所以越简单越好。
谢谢
最佳答案
您正在访问 little-endian 的字节(char
) int
顺序。在小端系统上 int
中的数字 123
通常存储为 {123,0,0,0}
。如果您的号码是 783 (256 * 3 + 15)
,它将存储为 {15,3,0,0}
。
关于c - 需要澄清 C 中的 unsigned char *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29038263/