2016wapjpc 发表于 2017-1-13 23:26

【学习心得】指针的实质

指针的实质

82:       int x =10;
0040B588   mov         dword ptr ,0Ah
83:       int* px = &x;
0040B58F   lea            eax,
0040B592   mov         dword ptr ,eax
84:
85:       int y= *px;
0040B595   mov         ecx,dword ptr                   //把x的地址放在了ecx中,
0040B598   mov         edx,dword ptr                      //取到ecx中的地址上的值放入了edx,
0040B59A   mov         dword ptr ,edx               //把值放入局部变量

小可爱~ 发表于 2017-1-13 23:33

本帖最后由 小可爱~ 于 2017-1-13 23:35 编辑

你直接给上汇编代码那些新人怎么知道这指针是个什么???

http://www.cnblogs.com/Logic0/archive/2010/04/22/1850372.html

万里腾飞 发表于 2017-1-13 23:35

作为新人的我,表示 赞成楼上说法

2016wapjpc 发表于 2017-1-14 01:30

是呀, int*p =&x;
p也是一个变量, 而*p 是取值呀,我自己才弄清。

君如兰 发表于 2017-1-14 08:51

建议在论坛里面搜索一下郝斌的视频教程 虽然这人说话比较大老粗但是讲课的风格还是挺不错的 {:301_1003:}

zcy001 发表于 2017-1-14 09:10

谢谢楼主的分享

blza3127672 发表于 2017-1-18 10:31

指针的本质就是存储地址,指向存储的地址,需要看汇编吗?非要弄怎么难吗?给别人怎么学?

ruising 发表于 2017-1-18 13:31

汇编太复杂

U5688792 发表于 2017-1-18 14:07

2016wapjpc 发表于 2017-1-14 01:30
是呀, int*p =

提个醒,这种写法,一定要注意int* p1, p2;与int* p1, * p2;的区别。

那该怎么办 发表于 2017-1-18 14:19

遇到指针,要读成“地址变量”,其实指针就是一个存放整数(地址就是一个整数)的变量而已,多少级都是如此。
页: [1]
查看完整版本: 【学习心得】指针的实质