int a=1;
int *p=&a; //一级指针是变量的地址
int **pp=&p; //二级指针是一级指针的地址
//int **pp=&&a; //无意义,必须先定义一级指针
int ***ppp=&pp;
//ppp=&pp; //三级指针
//*ppp=pp=&p; //二级指针
//**ppp=*pp=p=&a; //一级指针
//***ppp=**pp=*p=a; //整形数,可以取三次
printf("ppp=%d\n",***ppp);
printf("pp=%d\n",**pp);
printf("p=%d\n",*p);
printf("a=%d\n",a);
printf("ppp=%p\n",**ppp);
printf("pp=%p\n",*pp);
printf("p=%p\n",p);
printf("a=%p\n",&a);
printf("ppp=%p\n",*ppp);
printf("pp=%p\n",pp);
printf("p=%p\n",&p);
printf("a=%p\n",&a);