二级指针简介
二级指针即为二级指针变量,用于存放一级指针变量的地址。
一级指针变量是用来存放普通变量的地址(地址其实就是一些数字),一级指针变量也是一个变量,存放普通变量地址的同时自身也是有地址的。那么一级指针变量的地址就需要二级指针变量来存放。
以如下代码为例,理解以下 5 点(X64系统):
1. 整型变量a的地址为 0x000000b23913fbb4(地址其实就可以当做一段数字)
2. 一级指针变量p存放整型变量a的地址,p的值就是整型变量a的地址0x000000b23913fbb4
3. p作为一个指针变量也有地址,p的地址为 0x000000b23913fbd8
4. 二级指针变量pp存放一级指针变量p的地址,pp的值就是一级指针变量p的地址0x000000b23913fbd8
5. 二级指针变量pp作为变量当然也是有地址的:0x000000b23913fbf8 ,若要存放二级指针变量pp的地址,则就需要三级指针变量来存放,由此向下推出多级指针变量
int a = 10; int* p = &a; int** pp = &p;