news 2026/5/30 20:50:43

简单理解:用指针时,什么时候加*,什么时候不加*

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
简单理解:用指针时,什么时候加*,什么时候不加*

函数只需要 “哪个 ADC” 的地址(指针),而XT_ADCx本身就是指针,直接传就行;只有当你要 “修改 / 访问 ADC 内部的寄存器(结构体内容)” 时,才需要加*(或用->简写)

用 “最直白的规则 + 对比例子”,帮你彻底分清 “加不加*”:

一、核心规则(记死这 2 条,不会错)

操作目的XT_ADCx的处理加不加*
告诉函数 “操作哪个 ADC”(传地址)直接用XT_ADCx不加*
操作 ADC 内部的寄存器(读 / 写)解引用指针*(或->

二、对比例子(结合你熟悉的代码)

1. 不加*的场景:传地址(告诉函数 “哪个 ADC”)

ADC_ClockCmd(XT_ADCx, ENABLE);

  • 目的:告诉函数 “给 XT_ADCx 绑定的这个 ADC 开时钟”;
  • 函数只需要 “ADC 的地址” 来识别硬件,不需要碰 ADC 内部的寄存器;
  • XT_ADCx本身就是指针(存着地址),所以直接传,不加*
2. 加*(或->)的场景:操作寄存器(改 / 读内容)

之前代码里操作 ADC 寄存器的写法,本质都是加了*解引用:

// 场景1:开启 ADC(操作控制寄存器 CR) XT_ADCx->CR |= (1 << 0); // -> 是 (*XT_ADCx).CR 的简写,隐含了 * // 等价于:(*XT_ADCx).CR |= (1 << 0); (直接加 * 解引用) // 场景2:读采样结果(访问数据寄存器 DR) uint16_t adc_val = XT_ADCx->DR; // 同样隐含 * // 等价于:uint16_t adc_val = (*XT_ADCx).DR; // 场景3:等转换完成(查状态寄存器 SR) while (!(XT_ADCx->SR & (1 << 1))); // 还是隐含 *
  • 目的:修改 / 读取 ADC 内部的寄存器(结构体里的内容);
  • 必须通过*(或->)解引用指针,才能找到 ADC 内部的寄存器,所以要加*

三、再用 “钥匙类比” 巩固

  • XT_ADCx= 汽车钥匙(存着汽车地址);
  • 不加*:把钥匙直接给别人(函数),告诉别人 “去操作这把钥匙对应的车”(比如给车通电 = 开时钟);
  • *(或->):用钥匙打开车门,操作车里的设备(比如拧点火开关 = 开启 ADC,看仪表盘 = 读采样结果)。

四、一句话最终总结

ADC_ClockCmd(XT_ADCx, ENABLE);不加*,是因为函数只需要 “钥匙”(指针 / 地址)来识别 ADC;只有当你要 “用钥匙打开 ADC,操作里面的寄存器” 时,才需要加*(或->)。

以后遇到类似场景,直接套规则:

  • 传地址给函数 → 不加*
  • 操作指针指向的内容(寄存器 / 变量) → 加*(或->)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 17:12:04

PyTorch-CUDA-v2.7镜像能否离线安装?操作方法说明

PyTorch-CUDA-v2.7镜像能否离线安装&#xff1f;操作方法说明 在AI项目落地的过程中&#xff0c;一个常见的痛点是&#xff1a;实验室里跑得飞快的模型&#xff0c;到了生产服务器上却“水土不服”——环境装不上、依赖报错、GPU识别不了……尤其当目标机器处于内网隔离、无法…

作者头像 李华
网站建设 2026/5/28 13:33:19

PyTorch-CUDA镜像中预装了哪些常用Python库

PyTorch-CUDA镜像中预装了哪些常用Python库 在深度学习项目开发过程中&#xff0c;最令人头疼的往往不是模型设计本身&#xff0c;而是环境搭建——CUDA版本不匹配、cuDNN安装失败、PyTorch与Python依赖冲突……这些问题几乎成了每个AI工程师的“必经之路”。幸运的是&#xff…

作者头像 李华
网站建设 2026/5/28 13:33:20

PyTorch-CUDA-v2.7镜像实测报告:YOLOv11训练性能分析

PyTorch-CUDA-v2.7镜像实测报告&#xff1a;YOLOv11训练性能分析 在当前深度学习模型日益复杂、迭代速度不断加快的背景下&#xff0c;如何快速搭建一个稳定高效的训练环境&#xff0c;已经成为AI工程师面临的核心挑战之一。尤其是在目标检测领域&#xff0c;随着 YOLOv11 这类…

作者头像 李华
网站建设 2026/5/29 0:42:17

PyTorch-CUDA-v2.7镜像适合学生做毕业设计吗

PyTorch-CUDA-v2.7镜像适合学生做毕业设计吗 在高校人工智能课程和毕业设计中&#xff0c;越来越多的学生尝试构建图像分类器、目标检测系统&#xff0c;甚至训练小型语言模型。然而&#xff0c;真正动手时往往卡在第一步&#xff1a;环境配不起来。 明明照着教程一步步来&…

作者头像 李华