我对这种选角很困惑。谁能解释一下这句话中到底发生了什么?
x = *(char*)&n;
这是完整的代码,用于判断机器是小端还是大端。
int n = 0x1234567;
char x;
x = *(char*)&n;
最佳答案
&n
获取 n
的地址,但至关重要的是,它是 n
的最低地址字节。 (char *)
告诉编译器将该地址视为指向 char
的指针,即指向单个字节的指针。 *
取消引用,即它获得存储在该地址的字节值。
因此整体效果是x
被设置为存储在n
的最低地址字节中的值。
关于c++ - C/C++ 中的指针和转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9455379/