struct test
{
int num;
int pcname;
short sdate;
char cha[2];
short sba[4];
}* p;
//假设p的值为0x100000。如下表达式的值为多少
//一直,结构体test类型的变量大小是20个字节
int main()
{
p = (struct test*)0x100000;
printf("%p\n", (unsigned int*)p + 0x1);//0x0000000000100004 后面是我用vs2022编译跑出来的结果
return 0;
}
我想问一下我的电脑是64位的,unsigned int*不应该是占8个字节么,输出的不应该是0x0000000000100008么,我想知道为什么这里还是4