在我的理解中指针就是地址,虽说它可以做++--,但本质操作的还是内存地址
指针难理解是因为指针它有多级指针,就是指针变量容器中存放的依然是指针,
char a =10;
char* p1 = &a;
char** p2 = &p1;
char*** p3 = p2;
char**** p4 = &p3;
char***** p5 = &p4;
虽然说容器中的值是一个内存地址,但是它多级指针取值的时候会有点绕
指针取值是在变量前加个*号,我现在取变量p1
*(p1) 他这个取值不是取p1容器中的值, 而是取的是p1容器中存放的地址 又 地址指向的值, 就是这里有点小绕, 那取出来的值就是10 ,*(p1)=&a->10;
当然你不能理解成,*(p1)就等于取10,这是在取出了值之后才知道是10,在之前你只能说取的当前容器中的地址又地址指向的值
那现在取p4,*(p4)
p4中存放的是p3的地址(&p3),取的就是&p3->指向的值,就是p2的地址,(p4) = &p3 ,*(p4) =&p3->&p2;