oc学习之路----多级指针的使用和内存分析

---恢复内容开始---

精髓:要熟悉指针的使用,首先要熟悉指针的各种状态存得是什么数据。(以一级指针 int *p1 二级指针:int **p2 三级指针:int ***p3为例)

  一级指针:*p1 取得是目标存储空间的值  p2取得的是目标存储空间的存储地址,&p1取得是当前存储空间的存储地址,

  二级指针使用:

    #include <stdio.h>  

    void change3(int **p2){

    int ***d3 = d2;

    ***d3 = 60

    }

    void change2(int *d);

    int main(){

    int *p ;    

    int *p;

      int a = 100;

      p = &a;

      *p = 10;

  //一级指针做形参(略)

  //重点来了,二级指针做形参  

   int **p2 = &p;

      **p2 = 20;

    change3(p2);

    printf("a = %d",a);//输出a = 60

      printf("**p2=%p\n",p2);

      printf("&p=%p\n",&p);

    printf("**p3=%p\n",*p3);//这三个输出,指向同一个内存空间(一定是)

      }

以上是一个小测试,当初学c得时候不专心,现在学Oc好好搞死oc的指针。大家参考一下,哪里错了一定要指出来喔。

 

---恢复内容结束---

posted @ 2014-12-04 19:42  Etund  阅读(679)  评论(0编辑  收藏  举报