1 什么是结构体
我们知道数据的基本类型有:int (整形 ), char(字符形) , unsigned int (无符号整形),unsigned char (无符号字符形) 等,还包括数组等,但有些情况下 这些都 无法满足现实的需求,于是程序员把所需变量组织起来,类似数组,便不同于数组,定义成一个新的数据类型,这就是结构体struct,.结构体类型是一种新的数据类型,在程序中,可以像基本数据类型一样对待.定义结构体类型变量, 表达方式如下
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明
2 结构体的引用
要对结构体变量赋值,实质上是对结构体成员的操作,引用结构体成员时,在结构体变量名后加上运算符" ."和成员名称,
结构体变量名字 . 成员名 如下图
结构体指针变量定义也是一样的,跟其他变量没有啥区别。
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
结构体指针成员变量引用方法是通过“->”符号实现,比如要访问 usart3 结构体指针指向的结构体的成员变量 BaudRate,方法是:
GPIOx->CRH = tmpreg;
3 在结构体的使用中,配合使用枚举类型,枚举类型也是一种数据类型,使用同int char
利用关键字enum 可以进行声明枚举类型,这也是一种数据类型,一个枚举类型变量包括一组相关的标识符,每个标识符都对应一个整数值,称为枚举常量
定义一个枚举类型变量.如***GPIOSpeed_TypeDef*** GPIO_Speed; GPIOMode_TypeDef GPIO_Mode;
现在再看GPIO初始化,就简单多了吧.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)