int **p和int *p

int *p :一级指针,表示p所指向的地址里面存放的是一个int类型的值

int **p :二级指针,表示p所指向的地址里面存放的是一个指向int类型的指针(即p指向的地址里面存放的是一个指向int的一级指针)

例如:
int i=10; //定义了一个整型变量

int *p=&i; //定义了一个指针指向这个变量

int **p1=&p; //定义了一个二级指针指向p指针

那么取出10的值方式为:
printf("i=[%d] ",*p);
printf("i=[%d] ",**p1);

原文地址:https://www.cnblogs.com/phs007/p/11550302.html