C语言: *p++

复制代码
/* 3、循环写入多个字节数据 */
for (uint8_t i = 0; i < len; i++) {
    Driver_SPI_SwapByte(*pBuf++);
}

分析

  1. 指针 pBuf

    • pBuf 是一个指向缓冲区的指针,用于存储要发送的数据。
  2. *pBuf

    • *pBuf 表示指针 pBuf 所指向的当前字节。
    • 每次循环中,Driver_SPI_SwapByte(*pBuf) 会将当前字节通过 SPI 接口发送出去。
  3. pBuf++

    • pBuf++ 是一个后缀递增操作符,它首先返回 pBuf 的当前值,然后将 pBuf 自身增加 1。
    • 这意味着每次循环中,Driver_SPI_SwapByte(*pBuf++) 会先发送当前字节,然后将指针 pBuf 移动到下一个字节。

示例解释

假设 pBuf 指向一个包含多个字节的缓冲区,例如:

复制代码
uint8_t buf[] = {0x01, 0x02, 0x03, 0x04};
  • 初始时,pBuf 指向 buf[0]
  • 第一次循环:
    • Driver_SPI_SwapByte(*pBuf++) 发送 buf[0](即 0x01),然后 pBuf 移动到 buf[1]
  • 第二次循环:
    • Driver_SPI_SwapByte(*pBuf++) 发送 buf[1](即 0x02),然后 pBuf 移动到 buf[2]
  • 以此类推,直到发送完所有字节。

完整代码示例

复制代码
uint8_t buf[] = {0x01, 0x02, 0x03, 0x04};
uint8_t len = sizeof(buf);

/* 3、循环写入多个字节数据 */
for (uint8_t i = 0; i < len; i++) {
    Driver_SPI_SwapByte(*pBuf++);
}

总结

  • *pBuf :访问指针 pBuf 当前指向的字节。
  • pBuf++:后缀递增操作符,先返回当前值,然后将指针移动到下一个字节。
  • 循环:通过循环逐个发送缓冲区中的每个字节。
相关推荐
福尔摩斯张29 分钟前
【实战】C/C++ 实现 PC 热点(手动开启)+ 手机 UDP 自动发现 + TCP 通信全流程(超详细)
linux·c语言·c++·tcp/ip·算法·智能手机·udp
不想写笔记31 分钟前
算法 C语言 冒泡排序
c语言·笔记·算法·排序算法
历程里程碑40 分钟前
C++ 4:内存管理
java·c语言·开发语言·数据结构·c++·笔记·算法
2301_789015621 小时前
C++:多态(面向对象的主要手段之一)
c语言·开发语言·c++·多态
晚霞的不甘1 小时前
C语言利用数组处理批量数据详解
android·c语言·开发语言
渡我白衣1 小时前
C++可变参数队列与压栈顺序:从模板语法到汇编调用约定的深度解析
c语言·汇编·c++·人工智能·windows·深度学习·硬件架构
zore_c1 小时前
【C语言】贪吃蛇游戏超详解(包含音效、颜色、封装成应用等)
c语言·数据结构·笔记·stm32·游戏·链表
晨晖210 小时前
单链表逆转,c语言
c语言·数据结构·算法
kingmax5421200814 小时前
《数据结构C语言:单向链表-链表基本操作(尾插法建表、插入)》15分钟试讲教案【模版】
c语言·数据结构·链表
mit6.82416 小时前
[box64] 解决ARM64运行x86_64跨平台兼容性 | 机器架构配置
c语言