1236 发表于 2013-11-24 17:23:35

指针的指针的指针的指针...........

关于C语言中的指针,我就不用多说了吧,C语言的灵魂,但是一个指针还好理解,只是一个变量的地址,但是两个当看到int **p这种两个的时候,我就有点郁闷了,然而今天看到了int *****p,我就有点痛苦了,还好今天有空,VS 2008自带的调试器调试了一下午,准备跟大家分享一下,这里也不多写了,就写三个指针之内吧,先看下VC的代码,代码不多没几行int _tmain(int argc, _TCHAR* argv[])
{
        int *p1;                                             //定义第一个指针
        p1=(int *)malloc(4);                        //分配地址
        int **p2        =        (int **)&p1;               //第二个指针
        int ***p3        =        (int ***)&p2;            //第三个指针
        ***p3=12345;                                  //赋值
        printf("%d\n",***p3);                     //可以运行                  
        return 0;
}
虽然VC中,指针是灵魂,但是我特别不喜欢他这样定义,不如汇编简单,好了 看反汇编代码
int _tmain(int argc, _TCHAR* argv[])
{
012616A0 55               push      ebp
012616A1 8B EC            mov         ebp,esp
012616A3 83 EC 4C         sub         esp,4Ch
012616A6 53               push      ebx
012616A7 56               push      esi
012616A8 57               push      edi




1236 发表于 2013-11-24 17:24:58

完了,图片把代码给占了,反汇编代码没了。。。。

岁月如歌 发表于 2013-11-24 19:36:34

不明觉厉= =

福禄娃娃 发表于 2013-11-25 16:35:58

貌似不完整啊

1236 发表于 2013-11-25 16:44:42

福禄娃娃 发表于 2013-11-25 16:35 static/image/common/back.gif
貌似不完整啊

唉,别提啦,上次发的循环反汇编,发了两次不显示,这次发 还是不显示,快被 气死了!!!

福禄娃娃 发表于 2013-11-25 16:46:36

1236 发表于 2013-11-25 16:44 static/image/common/back.gif
唉,别提啦,上次发的循环反汇编,发了两次不显示,这次发 还是不显示,快被 气死了!!!

上次也看了你的帖子,也没发全
确实有的时候贴代码有问题,需要一次性搞定,如果多次修改就乱了,是这个编辑器不给力

1236 发表于 2013-11-26 23:22:50

福禄娃娃 发表于 2013-11-25 16:46 static/image/common/back.gif
上次也看了你的帖子,也没发全
确实有的时候贴代码有问题,需要一次性搞定,如果多次修改就乱了,是这个 ...

当时我注释了很久,一发,擦,什么都没了,然后又发了第二次,还是没有。。。。烦死了

卧室不要床 发表于 2013-11-27 00:19:46

不用多说了
页: [1]
查看完整版本: 指针的指针的指针的指针...........