二级指针相关知识:
int a = 10;
int * pa = &a; //pa是一级指针,pa指向的对象a是int类型,a的地址存放在pa中;
int* * ppa = &pa; //ppa是二级指针,ppa指向的对象pa是int*类型,pa的地址存放在ppa中;**ppa = 30;//*ppa找到pa的地址,*pa找到a的地址,所以**ppa就能找到a的地址,通过**ppa改变a的值
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//二级指针
int main()
{
int a = 10;
int * pa = &a; //pa是一级指针,pa指向的对象a是int类型,a的地址存放在pa中;
int* * ppa = &pa; //ppa是二级指针,ppa指向的对象pa是int*类型,pa的地址存放在ppa中;
**ppa = 30;//*ppa找到pa的地址,*pa找到a的地址,所以**ppa就能找到a的地址,通过**ppa改变a的值;
//printf("a = %d\n", a);
printf("a = %d\n", **ppa);//*ppa找到pa的地址,*pa找到a的地址,所以**ppa就能找到a的地址;
return 0;
}
图解如下:
执行结果如下: