C++ 分配一个变量指针地址

标签 c++ pointers

我想接收一个 DWORD 类型的变量,它将包含地址指针 float *。
如果我这样写:

float *Object = 5;  
std::cout << &Object;

它准确地给出了我想要的值(即:0F235C1A)。 你能告诉我如何将这个值分配给 DWORD 以便在我的内存写入函数中使用它吗?
尝试:

DWORD ObjAddress = &Object;

我遇到编译器错误:无法从“float *”转换为“DWORD”

最佳答案

我不明白你的对象定义:

float *Object = 5;  

5应该是地址吧?一个值?

看看下面的代码,也许就是你想要的。

float Object = 5;
int ObjAddress =  (int)&Object;
cout << "object adr1: "<< hex << &Object << endl;
cout << "object adr2: "<< hex << ObjAddress << endl;

输出

object adr1: 0x28ff08
object adr2: 28ff08

或者当你真的需要对象作为指针时

float value = 5;
float *Object = &value;
int ObjAddress =  (int)&Object;
cout << "object adr1: "<< hex << &Object << endl;

关于C++ 分配一个变量指针地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31049049/

相关文章:

c++ - 用引用隐藏指针

c++ - 在 C++ 中通过引用传递数组

pointers - "C pointer trickery"允许不匹配的 Fortran 数组等级

c++ - 标记算术表达式?

c++ - 我是C++编程的新手,这些代码之间有什么区别,应该使用哪个代码?

c++ - 无法调试 C++ eclipse makefile 项目

c++ - 行时间列不是标量,具有自定义标量类型

c++ - 我可以在函数头中包含 cppcheck 抑制吗?

c++ - 返回引用和返回值

c++ - 需要建议