在51单片机中int占16位。
在STM32中int占32位,short占16位,long占32位。
long long占64位。
宏定义与typedef
示例:typedef unsigned char uint8_t
#define uint8_t unsigned char
typedef新名字在后面,宏定义新名字在前面。
typedef只能对变量类型重命名。
对于变量类型重命名,typedef会对变量命名进行检查所以采用typedef对变量类型重命名更安全。
结构体
用途:数据打包,不同类型变量的集合
定义结构体变量:
struct{char x; int y; float z;}S;
通常用typedef对结构体变量重命名typedef struct{
char x;
int y;
float z;
}StructName;
访问结构体变量
S.x=12;
S.y=13 ;
S.z=14;
通过指针访问结构体变量
StructName->x=12;
StructName->y=13;
StructName->z=14;
枚举
用途:定义一个取值受限制的整型变量,用于限制变量取值范围;宏定义的集合
枚举的定义
enum{flash=1,ture=2,flag=3}name;
通常用typedef对枚举变量重命名
typedef enum{flash=1,ture=2,flag=3}Name enum;
枚举变量赋值
name=flash;
name=ture;
name= flag;
也可以把枚举值赋值给其他变量