美文网首页
C语言多级指针

C语言多级指针

作者: AuglyXu | 来源:发表于2018-09-07 23:20 被阅读0次

    多级指针

    • 指针中保存着其他指针的地址,我们就称之为多级指针

    多级指针的定义

    • 在要保存的指针变量的基础上加一颗星即可
    • 例如: int *p; 如果想保持指针变量p的地址, 只需在定义时多加一颗星即可 int **pp;
     int num;
        num = 6;
    
        // 一级指针
        int *p;
        p = #
        printf("*p = %i\n", *p); // 6
        // 二级指针
        int **pp;
        pp = &p;
        printf("&pp = %p\n", &pp); // &pp = 0060FEA4
        // 结论: *pp 和 p 和 &num相等;
        printf("*pp = %p\n", *pp); // *pp = 0060FEAC
        //   *(*pp)  --> *(p) --> *p --> num
        // 规律: 如果想通过多级指针获取某个变量的值, 那么是几级指针, 前面就写几颗星即可
        // 注意点: 在企业开发中, 最多二级指针, 三级顶天了, 四级没讲过
        printf("**pp = %i\n", **pp);
    

    在以上代码中
    *pp == p == &num
    (pp) --> *(p) --> *p --> num


    多级指针的内存表现形式

    int num = 9;
    int *p;
    p = #
    int **pp;
    pp = &p
    
    • 图解
      指针pp指向p的地址 通过pp可以访问到p内存中存储的地址0xff94,通过访问p可以访问到num内存中存储的数据9,也就是说通过**pp可以直接访问到num内存中存储的数据

    相关文章

      网友评论

          本文标题:C语言多级指针

          本文链接:https://www.haomeiwen.com/subject/ntghgftx.html