int **p; int * p, 比较容易理解,就是定义一个指向int类型的指针。那么这里的int **p是什么呢? 对于这种特殊形式,首先可以确定的是p是一个指针,因为p前面不但有 * 号而且还有两个 * 号,所以肯定是指针。 那么两个 * 号又是什么意思呢? 把int **p分解为以下形式,和int *p比较,就会看的比较清楚
int * p; //指针p指向 int类型
int * * p;//指针p指向int * 类型
12
其实上面的两种形式区别就在于:指针指向的内容的类型不同,一个指向int类型一个指向int * 类型
int a = 10;
int *q;
int **p;
q = &a;//q 指向 a p =&q; //p 指向q, q是一个int类型指针