#include <stdio.h>
int main()
{
int a = 1;
if(*(char*)&a == 1)
{
printf("xiaoduan");
}
else
{
printf("daduan");
}
return 0;
}
因为小段是01 00 00 00 大端是00 00 00 01
用char类型的指针访问1个字节判断第一个地址是否有值,那么不用整形提升用int类型指针访问第4个地址不一样可以判断出吗,为什么还要整形提升
但是用int如下
#include <stdio.h>
int main()
{
int a = 1;
int* p = &a;
if(*p == 1)
{
printf("xiaoduan");
}
else
{
printf("daduan");
}
return 0;
}输出结果依然是小端,为什么不是大端呢(int类型判断第4个地址),是因为*p依然是判断的首地址吗?那么为什么还要整形提升呢