是否可以在C++中更改带有指针的变量的地址

Is it possible to change an adress of a variable with pointers in C++

本文关键字:指针 变量 地址 C++ 是否      更新时间:2023-10-16

假设我有一个以下程序:

int a=7;  // while &a=0x67a9

有没有办法将a的地址更改为例如 0xaa55?

不,这是不可能的。局部变量的地址是寄存器或堆栈地址。因此,这些甚至可以随着每个调用上下文而更改。


如果您知道您的硬件支持在该特定地址处有一个值,则可以使用指针:

volatile int* pa = 0x67a9;

并访问值

std::cout << *pa << std::endl;