8位数字帮助后,内存地址将被切断
DWORD* memoryAddress = (DWORD*)0x155221000;
转换后从0x155221000变为0x55221000。
答案 0 :(得分:1)
在32位系统上,地址长4个字节。因此DWORD* memoryAddress = (DWORD*)0x155221000;
会在定义上被截断(同样不适合使用C样式的强制类型转换)。编译器应该顺便给您一个截断警告。
1428295680
是相同值的10进制表示(地址通常以十六进制表示,但仍为相同值)。
正如来自不同人的评论所说,DWORD
是4个字节(只是巧合,地址也是4个字节),出于相同的原因,它也会截断您的电话号码。