(DWORD),*(DWORD*)和(DWORD*)之间有什么区别?

use*_*727 0 c++ pointers dword

标题中的问题也是如此......

什么之间的区别(DWORD),*(DWORD*)以及(DWORD*)

一个例子:

#include <windows.h>
#define playerpointer 0xABC12375 // example

int main()
{
    DWORD dwPlayerPtr = *(DWORD*)(playerpointer);
}
Run Code Online (Sandbox Code Playgroud)

希望你能帮我...

Old*_*mer 5

DWORD是MS-Windows数据类型.它被定义为

typedef unsigned long DWORD
Run Code Online (Sandbox Code Playgroud)

(DWORD*) 是一个转换器,用于将值转换为指向DWORD的指针.

*(DWORD*) 然后取消引用指向实际DWORD值的指针.

所以,在上面的例子中,

DWORD dwPlayerPtr = *(DWORD*)(playerpointer);
Run Code Online (Sandbox Code Playgroud)

如果我们翻译成"英语",语句就是说,让我得到存储在0xABC12375位置的DWORD变量的值.