我试图搜索代码来确定系统的字节顺序,这就是我发现的:
int main()
{
unsigned int i= 1;
char *c = (char *)&i;
if (*c) {
printf("Little Endian\n");
} else {
printf("Big Endian\n");
}
}
有人能告诉我这段代码是如何工作的吗?更具体地说,为什么在这种类型转换中需要 & 符号:
char *c = (char *)&i;
将什么存储到指针 c.. i 包含的值或 i 包含的实际地址?另外,为什么这是该程序的字符?