DAY15 构造数据类型与位运算
今天把构造数据类型与位运算学完了
主要学了枚举enum以及联合体union
union主要要注意:
1. 结构体每个成员变量占据独立空间
2. 共用体每个成员变量占据同一共享空间
3. 内存大小端:
内存小端:内存低地址存放低数据位,高地址存放高数据位
内存大端:内存低地址存放高数据位,高地址存放低数据位
3. 枚举
每个枚举常量的类型都为int类型
第一个枚举常量的值默认为0,后续枚举常量的值总是前面枚举常量的值+1
2.9 位运算
1. 运算符:
算数运算符
关系运算符
逻辑运算符
赋值运算符
特殊运算符
逗号运算符
sizeof运算符
2. 位运算符
& 按位与
| 按位或
^ 按位异或
1. 将变量第n位置1
2. 将变量第n位置0
3. 异或可以实现两个变量数值的交换
将第n为置1;
num |= (1 << n);1
置0
num &= ~(1 << n);1
将a与b交换位置
a = a ^ b;
b = a ^ b;
a = a ^ b;
2.10 内存管理
1. C语言内存分布:
2. 堆区:
通过malloc申请堆区空间
通过free释放堆区空间
注意:
如果malloc的空间使用完毕没有及时free释放,会产生内存泄露
