某些数据可能只需要几个二进制位即可以保存,为了节约空间,因此引入了位域的说法。
数据类型说明符 成员名:位数;
例如:
int ip_len:4;
位域的几点需要注意的地方
1.位域并没有一个标准,不同编译器对位域的处理方式不同。
2.只有bool,char,int,enum的成员才能够被定义为位域。
3.位域虽然节省了内存空间,但由于打包和解包的过程需要耗费额外的操作,所以运行时间可能会增加。
某些数据可能只需要几个二进制位即可以保存,为了节约空间,因此引入了位域的说法。
数据类型说明符 成员名:位数;
例如:
int ip_len:4;
位域的几点需要注意的地方
1.位域并没有一个标准,不同编译器对位域的处理方式不同。
2.只有bool,char,int,enum的成员才能够被定义为位域。
3.位域虽然节省了内存空间,但由于打包和解包的过程需要耗费额外的操作,所以运行时间可能会增加。