枚举: enum
枚举语法:
enum 枚举名
{
枚举常量 //名字
};
举例:
enum weekday
{
MON,
TUES,
WED,
THURS,
FRI,
SAT,
SUN //枚举常量
};
注意:
1.c语言中 对于枚举类型 实际上是 当作整型处理的
2.提高代码可读性,写成枚举,可以做语法检查
3.枚举常量,之间用逗号隔开
4.枚举常量,可以给初值,给了初值之后,后面的值会被依次影响到
typedef
注意:
typedef 不能定义出一个新的类型 ,它是给已有类型起别名
用法:
int a; //定义了一个int型变量 a
typedef int a; //此时 表示 给 int型 起了一个别名 叫 a
用途:
往往用于 给复杂类型 起别名
为了 可移植性 给一些类型起别名
位运算:
主要用途,操作硬件
& 按位与运算 ---- 清零运算
运算规则: 一假则假
| 按位或运算 ---- 置位(1)运算
运算规则: 一真则真
^ 异或运算
运算规则:
相同为0 ,不同为1
~ 取反运算
运算规则:
真假相对
<< 左移运算
操作数1 << 操作数2
操作数1 表示 要进行移位操作的数据
操作数2 表示 要移动位数
a << 2 //表示对a 左移 2位
>> 右移运算
操作数1 >> 操作数2
操作数1 表示 要进行移位操作的数据
操作数2 表示 要移动位数
a>>1
1000 0000
0100 0000
算术右移
要移动的数据,本身是有符号类型 ,如果右移,最高位 补 符号位
逻辑右移
要移动的数据,本身是无符号类型 ,如果右移,最高位 补 0