二级指针,大家经常会比较懵 ,我这里做了个例子
int i = 10;
int y =20 ;
int* p = &i;
int ** p2 = &p;
LOGD("p的值 %p",*p2);
LOGD("i的地址 %p",p);
*p2 = &y;//将p的值变为 y的地址 那么现在 p 就代表了 y的地址
LOGD("p 现在的地址的存的值 %d",*p);
p2 是一个二级指针,它代表的是什么。代表的是 p 的地址的值,所以*p2 就是 p的地址存的值,那么p的地址存的值 是什么啊。 原来是i的地址, 现在改成了 y的地址, 那么 *p 就是20 了
这里比较绕,大家仔细读几遍 应该能明白。