这个程序有两个**怎么理解啊?

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:43:16
#include<stdio.h>
void main()
{ int **ptr1,*ptr2,a=20;
ptr2=&a;
ptr1=&ptr2;
printf("%d\n",**ptr1);
}

对**ptr1不是很理解,希望有人可以把这个赋值过程分析一下,谢谢。

prt1是个二级指针,也就是存放地址的指针,ptr2是个一级指针,存放的是a的地址,故可以看到ptr1存的是ptr2的地址,假设这个地址存在。二级指针比较难懂,所以还是多看多运行程序来掌握

那个表示指向指针的指针,就是二级指针,