位段的学习

位段是由结构体来实现的。

什么是位段

位段的声明和结构体是类似的,主要有两点不同:

1. 位段的成员必须是整型家族的(如:int, unsigned int, signed int, char 等等)

2. 位段成员名后有一个冒号和一个数字

举个例子:

这个S就是一个位段类型。

那么又回到一个问题,位段S的大小是多少?

位段的大小

这里要注意一下,冒号后面的数字代表的是比特位~

我们可以发现,在我们想要写一个判断的时候:

所以位段实际上是可以帮我们节省空间的~

回到正题上,位段的大小如何计算?

位段的内存分配

这里举个例子:

测试一下:

结果正是如此~

但是这里会出现一个新问题,且看下图:

存法问题:

结果是哪个存法呢?

结果为3,所以是第一种存法~

那么他们在内存中又是怎么样的表现形式呢?

内存中的表现形式:

打开内存测试一下:

果然~

不过,位段也是有局限性的!

位段的跨平台问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值