指针用法-指针解引用

void E52142_WriteRegister(e52142No_e no, e52142RegAddr_e addr, uint16_t data)

{

uint16_t txbuf4 = {0}, rxbuf4 = {0};

e52142WriteRegReq_t *txdat = (e52142WriteRegReq_t *)txbuf;

// e52142WriteRegRsp_t *rxdat = (e52142WriteRegRsp_t *)rxbuf;

txdat->addr = addr;

txdat->cmd = Cmd_WriteReg;

txdat->data = data;

txdat->crc = CRC_16_CCITT(txbuf, 2);

if(no == E52142No_1)

{

Dmt1If_SpiData(txbuf, rxbuf, 4);

}

else if(no == E52142No_2)

{

Dmt2If_SpiData(txbuf, rxbuf, 4);

}

else

{}

}

⚠️ 重要提示 :在C语言中,通过指针访问结构体成员(如 txdat->addr)本身就是对该指针的"调用"或"使用"。这与函数调用不同,但属于同等重要的运行时操作。


🧠 为什么会产生"未使用"的错觉?

常见误解分析

误解类型 真实情况
"必须像函数那样调用" 错误!指针解引用+成员访问已是标准用法
"没有出现在表达式右侧" 错误!txdat->addr 就是有效的左值表达式
"没有传递给其他函数" 不需要!此处是直接操作内存的关键步骤

📌 类比理解

想象你有一个快递箱(txbuf),而 txdat 是箱子上的智能标签

  • 当你说 "标签·收件人 = 张三" 时,就是在使用这个标签
  • 同样,txdat->addr = addr 就是给快递箱贴标签的过程
相关推荐
长江后浪博客8 小时前
ESP32-SOLO-1 在 ESP-IDF v5.5 下启动不断重启问题分析与解决
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp-idf
单片机仿真设计9 小时前
【proteus仿真】基于 STM32 单片机智能仓库设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
星游路9 小时前
单片机·电子时钟
单片机·嵌入式硬件
AOI小白新手上路13 小时前
江科协51单片机 7-2 LCD1602显示时钟实验
单片机·嵌入式硬件·51单片机
runningshark13 小时前
SC32L14GR8PJR
单片机·嵌入式硬件
智购科技无人售货机厂家14 小时前
2026自动售货机备用电池管理系统设计:从充放电保护到健康监测的工程实践~YH
大数据·linux·单片机·嵌入式硬件·微信
智购无人售货机厂家14 小时前
2026自动售货机软硬件版本管理策略:从版本号规范到兼容性矩阵的工程实践~YH
运维·服务器·人工智能·单片机·嵌入式硬件·线性代数·矩阵
花 满 楼14 小时前
RISC-V APLIC 中断模块总结——第二篇
单片机·嵌入式硬件·mcu·risc-v
无损检测小白白15 小时前
【嵌入式面试题一】
c语言·单片机
Messy create15 小时前
【BMS-Pack检测-短路检测】
单片机·嵌入式硬件·能源