1、这是step9的界面:

3、搜索值498

5、返回的列表中,只剩下唯一的一个地址了,双击该地址,加到入列表。

7、找到的指针是:05259F60

9、返回2个内存地址,现在先测试第一个,方法同上,先把该地址加到列表中,再后选择是什么该问了该地址:

11、这次返回了81个地址,这么多地址,如果一个一个试,就太费时间了。先看一下有没有基址(颜色是绿色的)。在图中,找到一个基址,我们试着添加指针,看看结果。

13、偏移量是怎么来的呢?上面的每步找地址的步骤,都有一个结果,看下图:

15、值明明是495,怎么指针值却是1140293632呢?我们把495改成100,看看指针值有没有变化:

17、分析一下,就可以注意到,指针值的变化是有规律的:指针差存在次数规律。根据这种规律,用python写成代码,就能实现值与指针的一一对应。代码如下:[c.plm@localhost ~]$ cat while.py#!/usr/local/bin/python3.3fast_long=1065353216fast_short=8388608loop=1step=1while loop <=1000: for x in range(step): print(str(int(fast_long))+' '+str(loop)+' '+str(int(fast_short)) + ' '+ str(x)) fast_long+=fast_short loop+=1 step*=2 fast_short/=2[c.plm@localhost ~]$
18、下图是运行结果:

20、1010对就的指针值是1149009920,看看刚才程序的结果:

21、看来结果完全一致,至此,大功告成。本文主要介绍了找内存基址,及如何分析指针值与实际值的对应规律。