共用体与位运算

结构体补充:

后插

头删

尾删

共用体

有时需要使几种不同类型的变量存放到同一段内存单元中。例如,可把一个整型变量、一个字符型变量、一个实型变量放在同一个地址开始的内存单元中。以上3个变量在内存中占的字节数不同,但都从同一地址开始存放。几个变量互相覆盖,这种使几个不同的变量共占同一段内存的结构,称为“共用体”类型的结构。
定义共用体类型变量的一般形式为:

成员会占据相同内存空间。彼此之间相互覆盖,空间大小按最大的算,按照最大字节数对齐,成员地址值相同。

可用来判断大小端

枚举

如果一个变量只有几种可能的值,则可以定义为枚举类型。所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。

声明枚举类型用enum开头。例如:

enum weekday(sun,mon,tue,wed,thu,fri,sat};

声明了一个枚举类型enum weekday,可以用此类型来定义变量。

1.在C编译中,对枚举元素按常量处理,故称枚举常量。它们不是变量,不能对它们赋值。

2.枚举元素作为常量,它们是有值的,C语言编译按定义时的顺序使它们的值为0,1,2…在上面定义中,sun的值为0,mon的值为1……sat的值为6。如果将mon初始化为4,则mon=4,printf(“%d\n”,mon);输出结果为5;

typedef

除了可以直接使用C提供的标准类型名(如int、char、float、double、long 等)和自己声明的结构体、共用体、指针、枚举类型外,还可以用typedef声明新的类型名来代替已有的类型名。

如:

INT为类型名

为以前已有数据类型起的别名

结果为4

位运算

按位与:指定位清零

位运算要求操作数为整型或与整型相兼容的数(枚举也可以)

按位或

按位异或

两个比特位一样为0;不一样为1(指定位翻转)

同一个数字异或两次,还是数字本身

取反

为单目运算符

左移(最左边删除,右边补0)

右移:

无符号为逻辑右移(补0);

有符号为算术右移(i为正数补0,负数补1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值