C语言结构体与枚举类型

一、结构体

这是定义了一个结构体变量c,成员是x,y,z。

又已知typedef用于给变量改名,例如

typedef unsigned char uint8_t;

就是把unsigned char数据类型给个新名字unint8_t。

那么,使用

typedef struct{
    char x;
    int y;
    float z;
}StructName_t;

这种常见的形式,把struct{charx; int y; float z;} 这种结构体类型重命名为StructName_t,此后就能用StructName_t c;   StructName_t d;  来定义结构体变量。

    GPIO_InitTypeDef GPIO_InitStruct;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_All;
    GPIO_InitStruct.GPIO_Speed = GPIO_Pin_12;
    GPIO_Init(GPIOB,&GPIO_InitStruct);

如上述代码中,GPIO_InitTypeDef是结构体类型的名字,GPIO_InitStruct是结构体变量的名字。

二、枚举

 

typedef enum{
      FALSE=0,
      TRUE=1
}HAHA;

HAHA X1;
HAHA X2;

X1=FALSE; //X1=0
X2=TRUE; //X2=1

HAHA是枚举类型的名字,X1,X2是枚举变量的名字,这俩变量的赋值只能在限制的范围内给出,也就是只能给FALSE或TRUE。

 

posted @ 2023-10-18 23:13  要是天天吃鱼就好了  阅读(54)  评论(0)    收藏  举报