本节介绍一下位段的含义和使用方法。 ————前言
1.定义
位段是一种与结构体的定义方法相似,与结构体使用方法略有不同的自定义类型。
例:
struct A { int _a:2; int _b:5; int _c:10; int _d:30; };
如上图所示,位段的定义分为4个部分,分别是 位段名(A),成员类型(int),成员名(_a,_b,_c...),各成员使用空间的大小(2,5,10,30)。
2.内存开辟方式与使用方法
2.1 内存开辟方式:
struct S { char a:3; char b:4; char c:5; char d:4; };
如图所示,当计算机为位段成员创建空间时,需要根据成员类型和成员所需空间大小来分配相对应的内存空间.
由于成员类型是char类型,因此计算机每次为成员创建1个字节(8bit)空间。