从C中读取内存中的地址

Dan*_*pel 2 c linux

我试图将字符存储在变量中的地址,但我有一个编译错误(一元'*'(有'int')的无效类型参数).

int address = 4000;
char character = (char) *address
Run Code Online (Sandbox Code Playgroud)

为什么这段代码不取消引用将字符存储在内存位置4000的指针,我该如何解决?谢谢.

NPE*_*NPE 5

在语法上,你正在寻找

char character = *(char*)address;
Run Code Online (Sandbox Code Playgroud)

这是否会做任何有用的事情是另一回事......

需要思考的一些问题:

  1. int 可能或可能不足以代表每个有效地址(在我的系统上,它不是).
  2. 你怎么知道你的进程内存映射中的地址4000是什么?