单片机中经常定义的结构体解读

单片机中经常定义的结构体解读

✅原代码

c 复制代码
/* Clark变换为例 */
typedef struct {
    float Iu;
    float Iv;
    float Iw;

    float Alpha;
    float Beta;
} CLARKE, *M_CLARKE;

🔍解读

  1. struct {...}定义了一个匿名结构体, 即没有名字的结构体;
  2. CLARKE是给结构体定义的一个类型别名, 之后就可以使用CLARKE来声明结构体变量, 例如:
c 复制代码
CLARKE current;
/* 等价于 */
struct {...} current;
  1. *M_CLARKE, 这里的*表示指针, M_CLARKE是一个指向CLARKE类型结构体的指针的类型别名, 也就是说:
c 复制代码
M_CLARKE ptr;
/* 等价于 */
CLARKE *ptr;
  1. 上述代码在一条语句中定义了两个类型别名type aliases, 用逗号,分隔;
    • typedef的通用形式为:
    • typedef <旧类型名> <新类型名>;
c 复制代码
typedef int Integer;
typedef float Voltage;

Integer x;

/* 定义了三个类型别名 */
typedef int A, *B, C[10];
/* A等价于 int */
/* B等价于 int* */
/* C等价于 int[10] */
相关推荐
wuyk5554 小时前
25. 函数指针表:用查表替代 switch-case,打造高效可维护的嵌入式状态机
c语言·stm32·单片机·mcu·51单片机
灯厂码农4 小时前
STM32三大通信协议详解——UART、I2C、SPI
stm32·单片机·嵌入式硬件
来生硬件工程师4 小时前
【硬件笔记】DCDC电源设计—BUCK电路设计要点
笔记·单片机·嵌入式硬件·硬件工程·智能硬件
zhangzhangkeji4 小时前
单片机 C51
单片机
逐步前行5 小时前
HAL_IIC (EEPROM)
stm32·单片机
国科安芯13 小时前
ASC4T245S分组双向控制架构深度解析:独立DIR/OE控制、QFN16封装与混合方向总线桥接
单片机·嵌入式硬件·物联网·fpga开发·架构·risc-v
独孤九剑打醒他14 小时前
双层Master-Worker软硬协同调度架构:从根源解决分布式数据一致性难题
后端·嵌入式硬件·硬件架构·硬件工程
JNX_SEMI15 小时前
AT2401C 2.4GHz 全集成射频前端单芯片技术解析
前端·单片机·嵌入式硬件·物联网·硬件工程
电子工程师成长日记-C5116 小时前
51单片机智能灯光控制系统
单片机·嵌入式硬件·51单片机
狂奔蜗牛(bradley)17 小时前
嵌入式软件编程思想之事件驱动+表驱动状态机+事件参数+优先级FIFO
单片机·mcu