我知道测试字节序的方法如下:
bool IsLittleEndian(){
int a = 1;
char* ptr = (char*)&a;
return *ptr;
}
我的问题是,为什么我们不能像这样将 int
强制转换为 char
,而不是像上面那样将 int*
转换为 char*
。
int a = 1;
char c = (char)a;
这样做可以吗?如果不行,我们不能这样做的原因是什么?
我知道测试字节序的方法如下:
bool IsLittleEndian(){
int a = 1;
char* ptr = (char*)&a;
return *ptr;
}
我的问题是,为什么我们不能像这样将 int
强制转换为 char
,而不是像上面那样将 int*
转换为 char*
。
int a = 1;
char c = (char)a;