C语言多级指针

多级指针

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

多级指针的定义

  • 在要保存的指针变量的基础上加一颗星即可
  • 例如: 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内存中存储的数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,848评论 3 44
  • C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程...
    小辰带你看世界阅读 4,522评论 0 6
  • 1. 变量 不同类型的变量在内存中占据不同的字节空间。 内存中存储数据的最小基本单位是字节,每一个字节都有一个内存...
    C语言学习阅读 5,087评论 0 4
  • 罗钦顺,字允升,号整庵,著名哲学家,明代“气学”的代表人物之一。弘治六年进士科探花,官至南京吏部尚书,后辞官,隐居...
    小岳1579阅读 3,247评论 0 0
  • “我们好好珍惜,好好感受趁现在的时光。”2017年10月2号,国庆第二天,星期六晚我们说好的今天去她家吃火锅的...
    看不见的看见阅读 3,188评论 8 2

友情链接更多精彩内容