我有一个指针,在这里我可以“手动”设置它指向的地址:

pPlayerPool = reinterpret_cast<DWORD*>(someAddress+PLAYER_POOL_POINTER_OFFSET);

当游戏尚未开始时,pPlayerPool指向0x0,这就是我的内存搜索工具中所说的内容。我试图用
if(*pPlayerPool)

要么
if(*pPlayerPool != 0)

要么
if(*pPlayerPool != NULL)

我的程序始终为0x0时崩溃。

然后,我还有一个小问题:据我所知,*给我指针的值,&给我指针的地址。但是,这个值意味着我没有任何这些角色会得到什么?

最佳答案

那是因为您试图取消引用空指针。不要取消引用它,只需检查它的值即可。

if(pPlayerPool)

if(pPlayerPool != 0)

当你这样做
*pPlayerPool != 0

您正在测试指向是否为零。并不是说pPlayerPool是血清。

关于c++ - 如何检查指针指向的地址是否为0x0?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22262401/

10-13 05:48