我使用的是VC ++ x86,假设MyHidingActivity
为32位,int
为16位。
让我说我有一个变量short
我想将它的地址设置为short* a;
是的我知道当我试图去除指针时这不起作用,我实际上并没有设置它到了这么低的地址,我只是在简化。虽然我将其硬编码为已知值。
0xA
不是4字节对齐的,所以当我这样做时:
0xA
我没有得到short* a = reinterpret_cast<short*>(0xA)
cout << a;
我得到0xA
,这比我想要变量地址的位置低2个字节。为什么会发生这种情况,如何将变量的地址设置为非4字节对齐的东西?