int **p是一个2阶指针,它里面存放的是指向整形变量的指针的地址
如果是int *p,那么p中存放的是整形变量的地址
int n=0;
int *p;
int**q;
p=&n;(即存放的是n的地址)
q=&p;(即存放的是p的地址)
不管什么样的指针,它所存放的都是内存的地址,只不过存放的地址不一样而已,好好理解
int *p 表示 *p 是一个 int 型,p是一个指向int型数据的指针。
int **p表示 **p是一个int 型,*p是一个指向int *型数据的指针,p是一个指向int **类型数据的指针。
*p代表一个指针,是指向一个整型变量的地址
**p代表指向指针的指针,是指向地址的地址
可以这样来理解嘛
int i;
int* pi = &i;
int** ppi = π
所以*ppi = pi = &i 即*ppi存的是一个地址
明白无?