当前位置: 首页 > news >正文

2. C语言 多级指针

C语言中的 多级指针(multi-level pointers) 是理解 C 语言“指针真正的力量”的关键部分。
它是通向操作系统、嵌入式底层驱动、动态内存、链表、字符串数组 等核心技术的必经之路。

我们一步步把这块讲“透” —— 从 直觉图解 → 定义与语法 → 实例演示 → 常见错误 → 实战场景


🧩 一、什么是多级指针?

简单来说:

多级指针就是 “指向指针的指针”。

换句话说:

  • 一级指针 → 指向一个普通变量;
  • 二级指针 → 指向一个一级指针;
  • 三级指针 → 指向一个二级指针;
  • 以此类推。

💡 1️⃣ 普通变量与一级指针

int a = 10;      // 普通变量
int *p = &a;     // p 是指针,存放 a 的地址

内存示意:

名称 内容(值) 含义
a 10 变量的值
p 0x7ffee... a 的地址

访问:

printf("%d\n", *p); // 输出10

💡 2️⃣ 二级指针:指向指针的指针

int **pp = &p;
  • pp 存放的是 “p 的地址”
  • *pp 相当于 “p”
  • **pp 相当于 “a”

图解:

┌────────┐       ┌────────┐       ┌────────┐
│   pp   │ ───→ │   p    │ ───→ │   a    │
│(地址p) │       │(地址a) │       │  10    │
└────────┘       └────────┘       └────────┘

验证:

printf("%p\n", &a);   // a的地址
printf("%p\n", p);    // a的地址
printf("%p\n", *pp);  // a的地址
printf("%d\n", **pp); // 10

💡 3️⃣ 三级指针(了解)

int ***ppp = &pp;
printf("%d\n", ***ppp);

层次:

ppp → pp → p → a

可读性非常差,除非你在写操作系统或驱动,否则尽量避免三级以上指针


🧠 二、为什么需要多级指针?

📍 场景1:函数中修改指针的值

比如,我们希望函数修改一个指针的指向。

错误做法(修改失败):

void change(int *p) {int b = 20;p = &b;  // 只改了形参副本,不影响主函数
}int main() {int a = 10;int *p = &a;change(p);printf("%d\n", *p); // 依然输出10
}

正确做法(用二级指针):

void change(int **pp) {int b = 20;*pp = &b;   // 修改了指针本身
}int main() {int a = 
http://www.dtcms.com/a/525686.html

相关文章:

  • 素材下载网站模板深圳企业网络推广运营技巧
  • 前沿技术借鉴研讨-2025.10.21(数据缺失填补/提取信号/分类)
  • StarRocks笔记
  • 便捷商铺源码聊天交友定制程序开发源码二开
  • STM32的四种延时方法
  • 手机网站怎么制作织梦网站备份几种方法
  • 网站设计答辩ppt大宗贸易平台
  • 【大模型与OCR】配合应用的示例demo
  • 门户网站内容建设岗位职责国家单位网站建设要多久
  • 辽宁自适应网站建设公司ps做景观有哪些素材网站
  • 服务器网站过多对排名建网站空间
  • 福州官网建站厂自己建网站还是淘宝
  • 空对象模式(Null Object Pattern)
  • 需求资产管理:从混沌到有序的数字化变革之路
  • dedecms图片网站模板开发做网站公司
  • 曲阜官方建设局网站安全之要
  • 【NestJS】依赖注入(DI) 的模块系统、`imports`、`@Module`、`providers` 之间的关系彻底搞清楚
  • Vibe Coding 小白上手指南
  • 洞察:当前Crypto大环境正需要Solana这种工程化实用主义
  • 做空机构的网站拌合站建站方案
  • wordpress搭建教育网站三只松鼠网络营销案例分析
  • FongMi 蜂蜜影视播放器TVBOX衍生版 V4.6.2支持安卓手机和电视附100+配置地址接口
  • 免费自助建站哪个好上海短视频制作
  • 北京好用的h5建站一般建站公司用什么cms
  • Xshell连接kali系统
  • 做网站 图片 文件夹 放哪儿网页升级访问紧急通通知
  • 赋能智慧水利:视频汇聚平台EasyCVR智慧水利工程视频管理系统解决方案
  • CentOS7.9部署Mysql8(二进制方式)
  • 太原网站建设推广驻马店哪家做网站好
  • 音乐网站设计源码网页制作知识点归纳