c++ - (DWORD)、*(DWORD*) 和 (DWORD*) 之间有什么区别?

标签 c++ pointers dword

<分区>

标题中的问题也指定...

(DWORD)*(DWORD*)(DWORD*) 有什么区别?

一个例子:

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

int main()
{
    DWORD dwPlayerPtr = *(DWORD*)(playerpointer);
}

希望你能帮助我...

最佳答案

DWORD 是一种 MS-Windows 数据类型。它被定义为

typedef unsigned long DWORD

(DWORD*) 是一种转换,用于将值转换为指向 DWORD 的指针。

*(DWORD*) 然后取消对该指针的引用,使其指向实际的 DWORD 值。

因此,在您上面的示例中,

DWORD dwPlayerPtr = *(DWORD*)(playerpointer);

如果我们翻译成“英语”,语句是说,获取存储在位置 0xABC12375 中的 DWORD 变量的值。

关于c++ - (DWORD)、*(DWORD*) 和 (DWORD*) 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20219188/

相关文章:

c++ - 为结构C++中的指针分配和删除内存

c++ - 对指针 C++ 的参数引用

c++ - 将数组的原始指针转换为 unique_ptr

c - 如何将 DWORD 转换为 HEX

c++ - 以十六进制打印出 DWORD 在 win32 c++ 中返回 0x7FFFFFFF

C++ 将 DWORD 值写入某个注册表项的所有子项

c++ - Emacs auto-complete-c-headers 不适用于引号

c++ - 在类头中声明类对象 C++

c++ - 在类中使用静态集合来存储类

c - 在 C 中使用数组的垃圾值