该代码可能的标题是什么?

时间:2019-11-27 17:47:19

标签: visual-studio visual-c++

unsigned int temp1=1;
unsigned char *temp2=(unsigned char*)&temp1;
if(!*temp2)
{
}

有人可以解释一下此代码的目的吗?我知道它的语法是如何工作的,但是就像其他阶乘,偶数,字符串长度等代码一样,该代码的标题是什么?

1 个答案:

答案 0 :(得分:1)

temp1是一个整数,因此在这种情况下,它是两个字节。通过将temp1设置为1,temp1的字节包含0X01,1包含0X00。将无符号字符指针temp2设置为指向temp1的地址。但是,无符号字符只有一个字节,因此当if语句评估temp2的值时,它仅评估内存中第一个字节的值。一些系统在低位存储器地址中存储整数的低位字节,而其他系统在低位存储器地址中存储高位低位字节。该代码确定当前系统格式化整数值的方式。