单片机C语言基础

基本数据类型

51单片机int是16位,32单片机int是32位

51单片机short8位,32单片机short16位

两种单片机Long的长度相同

没有unsigned 的float 和double 

在stdint头文件中给一些数据类型重新起了名字,ST库是老版本,仍然支持

常用改名函数

宏定义

关键字:#define

用途:用一个字符串代替一个数字,便于理解,防止出错;

提取程序中经常出现的参数,便于快速修改

定义宏定义:     #define ABC 12345

引用宏定义:     int a = ABC;    //等效于int a = 12345;

typedf

关键字:typedef

用途:将一个比较长的变量类型名换个名字,便于使用

定义typedef:     typedef unsigned char uint8_t;

引用typedef:      uint8_t a;    //等效于unsigned char a;

和宏定义的区别:

(1)typedf只能改变数据变量的名字,宏定义可以定义很多

(2)宏定义的新名字在左边,typedf在右边

(3)宏定义不需要加分号,typedf需要分号

结构体

关键字:struct

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

定义结构体变量:struct{char x; int y; float z;} StructName;     

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

引用结构体成员:(索引必须是结构体子项的名字)

StructName.x = 'A';     

StructName.y = 66;     

StructName.z = 1.23;

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

pStructName->y = 66;   

 pStructName->z = 1.23;

使用printf函数输出int 需要%d,char函数需要%c,float函数需要%f

结构体改名:

typedf struct{
int a;
float b;
char c;
} StructName;//结构体被重命名为StructName

StructName x;//用结构体声明变量

枚举类型

关键字:enum

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

定义枚举变量:     enum{FALSE = 0, TRUE = 1} EnumName;     

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

引用枚举成员:     EnumName = FALSE;     EnumName = TRUE;

枚举类型改名

typedf enum{
Monday=1,//逗号
Tuesday=2,//还有宏定义的功能,定义完了不一定要赋值给枚举变量中的值,当宏定义用也可以
Wednesday=3,
Thursday//如果是按顺序的,那么系统会自动赋值
} Week_t;//这个数据类型是Week_t

Week_t week;//声明一个week变量
week=Monday;//等效于week=1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值