如何判断指针指向的地址是否为0x0?

Maz*_*Man 3 c++ pointers

我有一个指针,我“手动”设置它指向的地址:

pPlayerPool = reinterpret_cast<DWORD*>(someAddress+PLAYER_POOL_POINTER_OFFSET);
Run Code Online (Sandbox Code Playgroud)

当游戏还没有开始时,pPlayerPool指向0x0,这就是我的内存搜索工具中的内容。我试着检查一下

if(*pPlayerPool)
Run Code Online (Sandbox Code Playgroud)

或者

if(*pPlayerPool != 0)
Run Code Online (Sandbox Code Playgroud)

或者

if(*pPlayerPool != NULL)
Run Code Online (Sandbox Code Playgroud)

当它是 0x0 时,我的程序总是崩溃。

然后我还有另一个小问题:据我所知,它*给了我指针的值和&指针本身的地址。但是如果没有这些字符,这个值意味着什么呢?

sta*_*ust 5

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

if(pPlayerPool)

if(pPlayerPool != 0)
Run Code Online (Sandbox Code Playgroud)

当你这样做时

*pPlayerPool != 0
Run Code Online (Sandbox Code Playgroud)

您正在测试 所指向的值是否pPlayerPool为零。不是pPlayerPool血清。