void fan(short * x)
{
short x1=256;
*x=x1;
}
int main()
{
int x=0;
fan((short *)&x);
printf("x:%d\r\n",x);
while(1);
return 0;
}
这样写会有数据丢失
void fan(int * x)
{
int x1=256;
*x=x1;
}
int main()
{
int x;
fan(&x);
return 0;
}
这就不会丢失
然而在开发时底层做了16位的数据
上层为了兼容用了32位的数据
这种情况会用第一种