int main(void)
{
int a = 0x123456789;
char *p = &a; // p指向a的首地址 存放的应该是0x89 此段代码a的大小是越界了
printf("%#x\n", *p);
p++; // 这里就指向了首地址下边的地址,存放的应该是0x67
printf("%#x\n", *p);
printf("%#X\n", a);
getchar();
return 0;
}
结果:
0xffffff89
0x67
0x23456789
如果代码中a=0x12345678,大小不越界
*p就是输出0x89
不明白为什么a越界了,结果就读出来4个字节了