c++ - 如果我知道它的地址,我能以某种方式访问​​它吗?

标签 c++ c pointers memory-address

<分区>

假设我们有一个变量

    int var = 3000;
    int *pt;
    pt=2293572; //where &var=2293572

问题基本上是通过知道内存地址间接访问存储在内存位置的值? 如果不是在 c、cpp 中,我们可以使用其他语言吗?

最佳答案

听起来您在问如何将整数转换为指针并使用它为内存位置赋值。

int var = 3000;
int *pt;
pt= (int*) 2293572; 

// Assignment
*pt = 2; // now var = 2

请注意,当您执行此操作时,您应该遵守通常的注意事项,正如 Matt McNabb 在下面提到的那样。

  • 转换是否有效是实现定义的
  • int 地址可能没有正确对齐
  • 你最好确保你有正确的地址

关于c++ - 如果我知道它的地址,我能以某种方式访问​​它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25051480/

相关文章:

c - 如何最好地模拟(非常)稀疏的概率密度函数?

c++ - 结构 vector 只返回最后一个值

c++ - 增量数组

c++ - 定义指针时不显示输出;

c - 即使在重写元素后,二维数组也不会更新

c - 卡在有关数组和移动数字的代码上

c - 将数字添加到链接列表时出错

使用 fork 创建子项并出现段错误(核心转储)

c++ - 错误 :Expected unqualified-id before ‘{’ token

c++ - ‘operator ==’ 中的 ‘a == b’ 不匹配