我对 C++ 很陌生,所以如果我遗漏了一些非常明显的东西,我深表歉意。我正在阅读关于 C++ 的教程,其中讨论了指针等。
在本教程中,给出了以下示例:
andy = 25;
ted = &andy;
beth = *ted;
我注意到 beth 真的和 &andy 一样。所以我将代码修改为:
andy = 25;
beth = *(&andy);
当我打印出 &andy 时,它给了我 andy 所指的内存位置。每次执行代码时,我都会得到一个特定的内存位置:0x28ff18
即使我更改了变量的名称,内存位置(这是我假设的)也不会改变。根据教程,内存位置由操作系统自动分配。我可以在代码中更改什么来更改 andy 所在的内存位置?
但是,我的主要问题如下:我试图用 &andy 替换代码中的内存位置,方法是将其更改为。
andy = 25;
beth = *(0x28ff18);
我这样做是假设 beth 将保持 25 的值,这是在内存位置 0x28ff18 中挥之不去的最后一个值。
但是,当我尝试运行此代码时出现错误。
我还尝试将 0x28ff18 设置为字符串、字符和整数,但在任何情况下都没有 beth = *(thatVariable); 工作。
如果我解释得不够清楚,我很抱歉,但我想知道是否有办法完成我想做的事情。