指针

在我的理解中指针就是地址,虽说它可以做++--,但本质操作的还是内存地址

指针难理解是因为指针它有多级指针,就是指针变量容器中存放的依然是指针,

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; 

 

上一篇:数据结构实训 杂货店排队


下一篇:P4学习系列1:mininet-p4 1