嵌入式学习第十七天——枚举、位运算

枚举

枚举:将变量的值一一列举出来,变量的值只限于列举出来的值的范围内
作用:
1.提高代码可读性
2.提高代码安全性

枚举类型
语法:
enum 枚举名
{
    列举各种值    //枚举常量
};
注意:列举的各种值之间用逗号隔开,不需要写类型名
eg:
enum fire
{
    LITTLE_FIRE,
    MIDDILE_FIRE,
    LARGE_FIRE,
};
注:
1.表示定义了一种枚举类型
2.枚举中逐个列举的值,默认是从0开始,如果有给定的值,则后续没有给定的值一次加1
3.枚举的本质实际上是Int类型的数据
4.枚举类型的变量与整形类型的变量是通用的
5.与宏定义对比
区别:
a.使用阶段不同 
宏定义   -- 预处理阶段
枚举类型 -- 编译阶段 要检查语法,运行阶段 参与代码运行
b.在可读性方面
都提高了可读性,但枚举更能说明有相关性的一些值间关系

typedef -- 给类型起别名

位运算 -- C语言特点

可以指针操作二进制位

& 按位与    //清0
运算规则:一假则假
eg:
0xaa & 0x33
1 0 1 0 1 0 1 0
0 0 1 0 0 0 1 0
---------------
0 0 1 0 0 0 1 0 - 0x22

| 按位或    //置1
运算规则:一真则真

~ 取反
运算规则:真假相对

^ 异或
运算规则:相同为0,不同为1

<< 左移
写法:
a<<n    //表示将a这个数据左移n位

>> 右移
a>>n    //表示将a这个数据右移n位
算数右移:当数据类型为有符号类型,右移时,最高位补符号位,无符号类型,右移时,最高位补0

注意:
1.浮点数不能做位运算

函数指针 指向函数类型的指针
指针函数 返回值为指针类型的函数
char *strcpy(char *dest,const char src);

堆上的空间
void *malloc(size_t size);
功能:在堆上开辟一片空间
参数:size--表示申请空间的大小,单位为字节
返回值:成功 返回申请到内存空间的地址
     失败 返回NULL
void free(void *ptr);
功能:释放之前申请的堆上的空间
参数:ptr -- 是之前申请的堆上空间的地址

free释放后的空间
1.一般不在使用
2.指向这块空间的指针 --- 是个野指针
3.free之后对应空间上的内容也不要使用

注意
1.成对出现
2.free只是释放了空间 -- 表示这块空间又自由了,但是这块空间上的数据不会清零
3.不要多次free

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值