1.共用体
union demo
{
int i;
short s;
char c;
};
结构体成员公用相同的内存空间
C语言中的共用体(Union)
共用体(Union)是C语言中的一种特殊数据类型,它允许在同一内存位置存储不同的数据类型。共用体的定义使用union关键字,并且可以包含多个成员,但在任何时刻,共用体的成员中只有一个可以含有值,其余成员则共享同一内存空间。
共用体的使用
要使用共用体,首先需要定义共用体类型,然后可以声明共用体变量并通过成员访问运算符(.)来访问其成员。共用体变量的地址与其成员的地址相同,因此修改共用体变量的任何成员都会影响其他成员的值。
共用体的特点
1.共用体的成员共享同一块内存空间,这意味着在任何时刻只有一个成员可以有值。
2.共用体的大小至少与最大成员的大小相等。
3.共用体变量的地址与其成员的地址相同。
4.不能对共用体变量整体赋值,只能通过其成员进行单独赋值
2.枚举类型
用于定义一组具有离散值的常量,这些常量可以是整数类型。枚举类型的定义使用enum关键字,后跟枚举类型的名称和一组用大括号{}括起来的枚举常量
enum week
{
sun,mon,tue,wes,thu,fri,sat
};
枚举类型与整型相兼容
3.用typedef定义类型
typedef int INT;
int main(void)
{
INT i;
}
此时INT作为类型说明符的作用
4.位运算
(1)按位与可以用于定位清零
(2)按位或用于指定位置1
(3)按位异或用于指定位翻转,0不变,1变0
可以用于加密算法
(4)按位取反要与逻辑取反!区分开
(5)左移只有逻辑左移,右移分为逻辑右移和算术右移
注意参与位运算的数据类型必须是整型或者与整型兼容