江科大笔记-C语言篇-结构体、枚举在STM32中的应用

结构体

关键字:struct

一种数据类型,与数组类似,但数组只能组合相同数据类型的数据,而结构体可以组合不同数据类型的数据。

用途:将数据打包,是不同类型变量的集合数组。

定义结构体变量:

struct{ char x; int y; float z; }  StructName;

//char x; int y; float z;为结构体的成员,StructName为结构体的名字

 引用结构体成员:

//引用结构体成员:
    
StructName.x = 'A';
    
StructName.y = 66;
    
StructName.z = 1.23;

//或
pStructName->x = 'A';    //pStructName为结构体的地址    
pStructName->y = 66;
pStructName->z = 1.23;

因为结构体变量类型较长,所以通常用typedef更改变量类型名:

typedef struct{char x;int y;float z;} StructName_t;//将结构体struct改名为StructName_t

StructName_t a;//定义结构体,相当于struct{char x;int y;float z;} a;
StructName_t b;//定义结构体,相当于struct{char x;int y;float z;} b;

a.x = 'A';
//引用结构体a
a.y = 66;
    
a.z = 1.23;
b.x = 'B';

//引用结构体b
b.y = 88;
    
b.z = 2.45;

在配置时的结构体实际应用:

首先,用typedef和struct弄了一个结构体GPIO_InitTypeDef,所以GPIO_InitTypeDef现在是一个结构体。

接着,给定义结构体,结构体名字可以随便起,只是这里起为GPIO_InitStructure而已。

最后,引用结构体,给结构体各个成员赋值。

枚举

关键字:enum

用途:

  • 定义一个取值受限制的整型变量,用于限制变量取值范围;
  • 宏定义的集合;

 定义、引用枚举变量:

//定义枚举变量
 
enum  {FALSE = 0,TRUE = 1}  EnumName;
 
 //引用枚举成员
EnumName = FALSE;//相当于EnumName=0
EnumName = TRUE;// 相当于EnumName=1
//如果是EnumName =100;,反正只要不是枚举中的值,那编译器就会报错或报警

因为枚举变量类型较长,所以通常用typedef更改变量类型名

typedef enum{m=1,t=2,w=3} week_t;    //注意{}里是句号,不是分号

week_t a;                            //定义枚举,相当于enum{m=1,t=2,w=3} a;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值