我使用的VC++6.0,下面是我的代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
unsigned int num1 = 0xfffffff7;
char* ptrchar = (char*)&num1;
printf("num1:0x%x\n",*ptrchar);
unsigned int num2 = 0xffffff80;
ptrchar = (char*)&num2;
printf("num2:0x%x\n",*ptrchar);
unsigned int num3 = 0xffffff7f;
ptrchar = (char*)&num3;
printf("num3:0x%x\n",*ptrchar);
unsigned int num4 = 0xffff7f80;
ptrchar = (char*)&num4;
printf("num4:0x%x\n",*ptrchar);
unsigned int num5 = 0xffff7f90;
ptrchar = (char*)&num5;
printf("num5:0x%x\n",*ptrchar);
unsigned int num6 = 0xffff7f7f;
ptrchar = (char*)&num6;
printf("num6:0x%x\n",*ptrchar);
return 0;
}
运行结果为:
问题1:一个char指针指向的为一个char类型,即num1内存中的第一个内存单元(0xf7),但输出怎么输出num1的四个单元呢?
问题2:看数据num2和num3,我更就不能理解了!!!
问题3:在数据num5中,怎么输出的和赋值的怎么不一样!!!!!
请各位大鸟帮小弟看看哈!指点一下,不胜感谢!!!