枚举:将变量一个个的列举出来
作用:
1.提高代码可读性
2.提高代码安全性
enum 枚举名
{
列举各种值
};
eg:
enum fire
{
LARGE_FIRE,//用逗号隔开
MIDDLE_FIRE,
LITTLE_FIRE,
};
注:
1.表示定义了一种枚举类型
2.枚举中逐个列举的值,默认从0开始
如果有给定的值,后续没有给值的依次加1
3.枚举类型的本质实际是一个int类型的数据
4.枚举类型的变量与整形类型的变量是通用的
5.与宏定义对比
区别:使用阶段不同,宏定义在预处理阶段;枚举在编译阶段 ,要进行代码检查
相似:都提高了可读性,但枚举更能说明值之间的关系
typedef//给类型起别名
typedef int a;//此时a是int类型的一个别名 a b = 5;
位运算://C语言特点
可以直接操作二进制位
与运算 &:一假则假 //清零
或运算 |:一真则真 //置1
取反运算 ~:真假相对
异或运算 ^:相同为零,不同为一
注意:
1.浮点数不能做位运算
<< 左移
写法:
a << n //将a这个数据左移n位置
>> 右移
写法:
a >> n //将a这个数据右移n位置
算术右移:看符号位,看数据类型,如果是有符号类型的数据,右移时最高位补符号位,如果是无符号类型,右移时最高位补0
函数指针 指向函数类型的指针 //基类型是函数的指针
指针函数 返回值为指针类型的函数
申请空间函数
void * malloc()
{}
释放空间函数
void free(void *ptr);
参数:
ptr是之前申请到堆上空间的地址
指向这块空间的指针是个野指针