news 2026/3/8 14:11:58

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

作者头像

张小明

前端开发工程师

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/3/4 2:44:38

别再吹英文更精准了!汉字的细腻,甩了十条街

别再吹英文更精准了&#xff01;汉字的细腻&#xff0c;甩了十条街前两天发了条视频聊汉字表达多高效&#xff0c;评论区齐刷刷怼我&#xff1a;“英文的表达更精准”。好家伙&#xff0c;为了证明汉字不行&#xff0c;你们真是啥话都敢说。今天咱们就掰开揉碎&#xff0c;好好…

作者头像 李华
网站建设 2026/3/5 13:21:43

PyTorch-CUDA-v2.7镜像更新日志:修复多个已知问题

PyTorch-CUDA-v2.7镜像更新日志&#xff1a;修复多个已知问题 在深度学习项目开发中&#xff0c;最令人沮丧的往往不是模型调参失败&#xff0c;而是环境配置出错——“在我机器上明明能跑”&#xff0c;却在同事或服务器上报出 libcudart.so not found 这类低级但致命的错误。…

作者头像 李华
网站建设 2026/3/6 2:28:36

依托物流可信数据空间,企业能让数据快速合规变现?

最近国家数据局的新政策&#xff0c;给所有做物流生意的主体送来了一个“大风口”——国家要花大力气推动数据变成能创造价值的资产&#xff0c;还要建专门的实验室、应用场景&#xff0c;让数据在各个行业“活”起来、“赚”起来。对物流企业来说&#xff0c;这不是遥远的政策…

作者头像 李华
网站建设 2026/2/7 15:54:02

PyTorch-CUDA-v2.7镜像对FP16和BF16格式的支持

PyTorch-CUDA-v2.7 镜像对 FP16 与 BF16 的深度支持&#xff1a;从原理到工程实践 在当前大模型训练动辄消耗数百张 GPU、显存瓶颈日益凸显的背景下&#xff0c;如何在不牺牲模型精度的前提下提升计算效率&#xff0c;已成为每一个深度学习工程师必须面对的核心问题。混合精度训…

作者头像 李华
网站建设 2026/3/8 10:06:43

网络安全行业,据说全球网络安全人才缺口升至480万?

网络安全行业&#xff0c;据说全球网络安全人才缺口升至480万&#xff1f; “ 据说全球网络安全人才缺口升至480万&#xff1f;” 上个月圈子被一条消息刷屏了。 《AI时代网络安全产业人才发展报告&#xff08;2025&#xff09;》数据显示&#xff0c;2025年全球网络安全人才缺…

作者头像 李华
网站建设 2026/3/1 14:58:44

Docker镜像源优化建议:优先选择PyTorch-CUDA-v2.7基础环境

Docker镜像源优化建议&#xff1a;优先选择PyTorch-CUDA-v2.7基础环境 在现代AI研发实践中&#xff0c;一个稳定、开箱即用的开发环境往往比算法本身更早成为项目启动的“瓶颈”。你是否曾因CUDA版本不匹配导致PyTorch无法使用&#xff1f;是否为不同项目间依赖冲突而反复重装系…

作者头像 李华