是否可以在C++中更改带有指针的变量的地址
Is it possible to change an adress of a variable with pointers in C++
假设我有一个以下程序:
int a=7; // while &a=0x67a9
有没有办法将a的地址更改为例如 0xaa55?
不,这是不可能的。局部变量的地址是寄存器或堆栈地址。因此,这些甚至可以随着每个调用上下文而更改。
如果您知道您的硬件支持在该特定地址处有一个值,则可以使用指针:
volatile int* pa = 0x67a9;
并访问值
std::cout << *pa << std::endl;
相关文章:
- 指针变量在 cout 函数中不起作用
- 如何将指针变量作为引用参数传递?
- 有没有办法在同名类 (c++) 中为对象分配一个指针变量
- 我试图了解在异或操作后指针变量正在更改
- 调用带有指针对象错误的指针变量
- 如何在 cuda 中将结构的指针变量从主机复制到设备
- 非指针变量和类成员上的新放置
- 线路抑制状态错误 C4703 可能未初始化的局部指针变量"back"已使用
- 全局外部指针变量在 DLL 中不可见
- 如何访问在 c++ 中在类内声明的结构类型指针变量?
- C++ 中指针变量的内存释放
- 使用指针变量打印特定的数组变量
- 如何使用构造函数初始化内存地址(指针变量)?
- 如何释放为指针变量本身提供的内存?
- 如果地址已知,如何获取指针变量的名称
- 如何处理参数中的基类和指针变量
- 指针变量 在数组中定位零
- 隐式指针变量,在自动定义中具有另一个指针变量
- 为什么可以将Char指针变量初始化为字符串,而INT指针变量不能初始化到整数数组
- 错误 C4703 可能未初始化的局部指针变量'y'使用