Android NDK开发之旅-C指针(包含多级)

先贴一下代码和运行结果:

个人理解:

1、*,表示声明成指针,几个*,代表着几级指针

2、指针存只放地址,如上例中,打印p,p2,p3,用“%#x”,取到其上一级的16进制的内存地址

3、如上例中,*p或**p2或***p3等等,都代表着取一级指针存放的地址上所存储的值

  如上*p,**p2,***p3的值都是10(后面不改变p的指向)

4、一级指针指向地址改变,后面的指针都变

  如上例中,指针p,指向的是i的地址,即后面**p2,***p3的值是10

  但后面将指针p的指向改为int a的地址,后面的**p2 和***p3的值也改为40

5、可以通过指针来改变一级指针指向地址在内存中的值

  如上例中,可以通过*p=20或**p2=20或***p3=20来改变i(后面改为了a)的值(上面没贴,看了这段话,你应该能明白了吧)

 

没C的指针,就没有Java的OOP(面对对象思想)

上面试一些个人理解,可能有点绕,能帮助各位理解就好。

 

posted @ 2017-05-25 13:19  猴子1  阅读(194)  评论(0编辑  收藏  举报