0

是否可以打印出存储在特定内存地址的内容?例如,我想知道地址 0x7FFFFF0 存储了什么。我该怎么做?我不知道事先在地址中存储了什么,即。它可以是 int 或 char 或 null 终止符。

4

1 回答 1

2

根据您的环境,您可以简单地声明一个指针并取消引用它:

volatile unsigned int *p = (volatile unsigned int *)0x7FFFFF0;
printf("%u\n", *p);

当然,此操作要求您的程序有权访问该内存。您的里程可能会因不同的操作系统和环境而异。

如果不做更多的工作来确定内存代表什么,从语义上讲,然后在该上下文中提取您关心的字节,您肯定无法在运行时提取任何类型信息。

于 2013-05-27T17:48:06.300 回答