关键字为c语言中的应用,表示的范围根据使用的范围不同,也发生了相应的变化,比如char本来是用来表示字符的,现在也可以用来表述数字;int在c中是16位的,在32中表示32位,long和int的长度相同,longlong基本不使用。
stdint关键字的库文件给我们提供的,ST文件是以前的库文件用的命名方式,现在同样兼容
define表示宏定义,在程序的一开始就定义,方便后期的数字更改
typedef和宏定义一样,将长的变量换名字。
两者的区别:1.define定义的新内容在左边,typedef定义的新内容在右边;
2.define定义完之后不需要加‘;’,而typedef需要加‘;’;
3.可以define定义的范围更加广一点,typedef只能定义变量类型,非常局限
结构体和数组的区别
1.结构体打包不一样的数据类型的变量;数组只能打包同一类型的变量
例:
数组int b [5]表示定义了一个数组,其中包含五个整数型变量
结构体struct{char x; int y; float z;}c;表示定义了一个名为c的结构体,其中包含char类型的x变量,int类型的y变量和float类型的z变量
2.引用方式不同
数组引用b[0],、b[1]......
结构体引用c.x、c.y......
ps:结构体联合typedef使用
例:typedef struct{
char x;
int y;
float z;
}StructName_t;//定义StructName_t为结构体的新名字,方便后期的调用
StructName_t c;
StructName_t d;//快速定义结构体变量c,d,其中StructName_t为结构体的类型,c,d为结构体的名字
两种引用结构体的方法:
c.x='A';
c.y=66;
c.z=1.23//可以通过变量名.结构体成员数据来引用结构体
pc.x->x='A';
pc->y=66;
pc->z=1.23;//可以通过结构体指针名->结构体成员名来引用结构体成员
enum可以给定数值的范围,例:
enmun={MONDAY=1,TUESDAY=2,WEDNESDAY=3} week;//定义了枚举只能有1~3三个数字的范围
enum可以和typedef一起使用:
typedef enum{
MONDAY=1,
TUESDAY=2,
WEDNESDAY=3
} Week_t;//其中要注意,两个变量之间用,隔开;当表述的是按顺序排列的数字时,后面的数字可以被省略,如下所示
typedef enum{
MONDAY=1,
TUESDAY,
WEDNESDAY
} Week_t;
调用:Week_t=week;
week=MONDAY;//week=1;
week=TUESDAY;//week=2;
标签:week,typedef,定义,19,STM32,int,2023,变量,结构 From: https://www.cnblogs.com/jlxaiyjx/p/17566722.html