C指針淺析(3)

以下為個人理解,

#include <stdio.h>

void test(int **);
void main()
{
   int * p;
   int a=2;
   p=&a;
   test(&p);
   getchar();
}

void test(int **p)
{
  printf("%0x",p); //A=>0XFF02

  printf("%0x",*p);//B=>0XFF04
  printf("%0x",**p);//C=>2

}

比方說3個容器,A,B,C,,C中存放的是具體的值2.

上面的程式碼可以表述為,,A地址中存放的是B的地址(A<=>printf("%0x",p)),B地址中存放的是C的地址

(B<=>printf("%0x",*p)),那麼這一次用*取值這就是C地址的值(C<=>printf("%0x",**p))。

也就是說,通過A去找C地址中的值.

 

posted on 2012-03-15 13:02  Mayvar  阅读(186)  评论(0编辑  收藏  举报

导航