用反汇编理解指向指针的指针

解释int **pp = &p

①eax = p所在的地址

②pp = eax,即pp = p的地址

num 的地址 | 520

  p     | num 的地址

  pp  | p的地址

 其实上面理解了,下面也就理解了

首先pp = p的地址

*pp = *&p = p的地址解引用 = num的地址

**pp = *(num的地址) = 520

 p = num的地址

&p = 存放num的地址的地址

pp = p的地址 =  存放num的地址的地址

所以结果应该是一样的

 

num = 520

&num = num的地址

p = num的地址

pp = p的地址

*pp = *&p = p的地址解引用 = num的地址

所以 &num  = p = *pp

 另:

 

猜你喜欢

转载自www.cnblogs.com/EvilAnne/p/9696139.html