二级指针
int main() //二级指针
{
int a = 10, b = 20;
int* p = nullptr;
int** s = nullptr;
s = &p;
*s = &a;
**s = 100;
*s = &b;
**s = 200;
return 0;
}
(int型)
s+1 int型二级指针 指向p1的地址(&p1)
*s+1 int型一级指针 指向a1的地址(&a1)
**s+1 int型 指向值a0+1(1)
(double型)
s+1 返回p1地址,类型是double** 加4字节
s+1 返回a1地址,类型double 加8字节 =>*s+sizeof(double)*1
**s+1 值a0+1,不加字节
二维数组
&ar与ar
数值上相同
类型不同
&ar:整个数组首地址 &ar+1 加16字节
ar: 数组首元素地址 ar+1 加4字节
s => &ar0;
s => &ar0 => ar0
指针形式转为数组形式
*( *(s+2)+3) = 100;
*(s[2] + 3)=