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地址中的值.