C++ 从变量写入地址值?

C++ 从变量写入地址值?,c++,variables,pointers,memory,C++,Variables,Pointers,Memory,我试图在我自己的进程中写入一个地址,所以我不试图写入任何其他进程:p说我有一个变量: unsigned int address = 0xDFCDD8; //just an example, nothing more. 既然地址不是静态的,我怎么写变量中包含的地址呢?:我知道WriteProcessMemory可以做到这一点,但我觉得这有点过分,因为它主要用于写远程进程:S 所以在“伪代码”中是这样的: int newVal = 10; 0xDFCDD8 = newVal; 只是地址将包含在一

我试图在我自己的进程中写入一个地址,所以我不试图写入任何其他进程:p说我有一个变量:

unsigned int address = 0xDFCDD8; //just an example, nothing more.
既然地址不是静态的,我怎么写变量中包含的地址呢?:我知道WriteProcessMemory可以做到这一点,但我觉得这有点过分,因为它主要用于写远程进程:S

所以在“伪代码”中是这样的:

int newVal = 10;
0xDFCDD8 = newVal;
只是地址将包含在一个变量中:)


非常感谢您的帮助:我无法想象您为什么需要它,但这里有一些方法:

uintptr_t address = 0xDFCDD8;
int newValue = 10;
*(reinterpret_cast<int*>(address)) = newValue;
uintpttr\u t地址=0xDFCDD8;
int newValue=10;
*(重新解释(地址))=新值;

请不要做那样的事

.在你提出这样的问题之前,你应该先阅读一些关于指针的教程!是的,我也想到了指针:所以我确实做了:(float)address=newVal;但它似乎不能正常工作,所以我改问。问也没问题,使用这样的代码有充分的理由。自修补代码,尤其是没有源代码的修补代码,例如绕过函数调用等。这种技术在嵌入式系统编程中很流行,用于访问硬件寄存器。