如何解决指向存储在另一个地址的地址的指针
我有一个未知地址(例如fd010000)存储在已知位置(00008108)。如何从未知地址中创建指针,以便可以从该地址获取值。
memory structure:
0x00008108: fb00de00
...
0xfb00de00: ????????
with fb00de00 being a placeholder
我将如何访问????????
?
解决方法
创建一个双指针并将其设置为已知地址。
int **ptr = (int **)0x00008108;
int val = **ptr; // This will set val to ????????
请注意,在整数和指针之间进行转换取决于实现,但是在任何合理的实现中它都可以按预期工作。
,您有内存地址
0x00008108
您可以取消引用*,以获取该地址处的值:
fb00de00
您所说的是内存地址。因此,您取消引用它,这将为您提供??????您未知的值。
示例:
int a = ??????; // (Unknown value)
int * b = &a; // fb00de00
int ** c = &b; // 0x00008108
cout << **c; // prints ?????
**c = 56; // change ????? to 56
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。