共用体:
共用体(Union
)是一种特殊的数据类型,它允许在同一个内存位置存储不同的数据类型。
共用体的所有成员共享同一块内存空间,因此同一时间只能存储其中一个成员的值。
共用体的定义和结构体类似,使用关键字union
,后面跟着成员列表。
每个成员可以是不同的数据类型,
但共用体的所有成员都共享同一块内存空间,大小取决于最大的成员。
共用体的成员可以通过点操作符(.)或箭头操作符(->)来访问
共用体的主要特点如下:
共用体的大小取决于最大的成员的大小。
共用体的成员共享同一块内存空间,只能同时存储其中一个成员的值。
对共用体的任何成员的修改都会影响到其他成员。
共用体的成员可以具有不同的数据类型,但它们在内存中的起始位置是相同的。
共用体的主要用途有:
节省内存空间:当多个成员变量不会同时使用,但需要共享同一块内存空间时,可以使用共用体来节省内存。
数据类型转换:共用体可以用于不同类型之间的转换,通过存储一个成员变量,然后通过另一个成员变量来读取转换后的值。
枚举类型:
枚举 是一种用户自定义的数据类型,用于为一组整数值赋予有意义的名称。
枚举数据类型是由程序员定义的一组命名整数常量。枚举的定义使用关键字enum
,基本语法如下:
typedef 关键字定义
C语言允许用户使用 typedef 关键字来定义自己习惯的数据类型名称,typedef 的真正含义是给一个已经存在的类型名称起一个别名,注意是已经存在的数据类型,而非变量
typedef 可以给下面的类型取别名,基本数据类型,数组类型名称,指针类型名称和用户自定义的结构体类型,枚举类型,共用类型。。
位运算
位运算符 就是按二进制位进行运算。
C语言中位运算符主要包括六种,具体如下:
与(&),或(|),非(~),异或(^),左移(<<)和右移(>>)