c++ - 查找存储在内存中的值 C/C++

标签 c++ c pointers

假设我有一个接受整数值的函数,现在,在函数中我想知道存储在该整数值指向的内存位置中的值。

void function(int a)
{
  //say, a=10 then I want to know the value stored in memory address 10
}

最佳答案

int 不是一种适合在任何系统上可靠地传递指针的类型,没有导致未定义行为的风险。

C99 开头/C++11您可以使用 uintptr_t 类型,它可以与指针相互转换:

// In C++ include <cstdint>
#include <stdint.h>

void function(uintptr_t a) {
    uint8_t *ptr = (uint8_t*)a;
    uint8_t val = *ptr;
}

关于c++ - 查找存储在内存中的值 C/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27644113/

相关文章:

c++ - 在屏幕上快速绘制像素

c++ - 使用 C++ 读取 pdf 页数

c - C 中的结构和动态内存

c - 如何从文件创建一个字符数组?

c - 如何正确地将数组分配给结构体以及如何访问在 C 中分配给结构体的数组?

c++ - 表达式 "variable, variable = value;"

c++ - 使用 Ignite C++ 进行持久存储

c++ - eclipse 中的 CDT 问题

c - 存储在非 EOF 变量中的值是多少?

c - 如何在 Xamarin Android 中隐藏/关闭软键盘?