免费社区建站系统,app浏览器下载,苏州网站建设智能 乐云践新,wordpress大学本篇文章带来位段相关知识详细讲解#xff01;
如果您觉得文章不错#xff0c;期待你的一键三连哦#xff0c;你的鼓励是我创作的动力之源#xff0c;让我们一起加油#xff0c;一起奔跑#xff0c;让我们顶峰相见#xff01;#xff01;#xff01;
目录
一.什么是… 本篇文章带来位段相关知识详细讲解
如果您觉得文章不错期待你的一键三连哦你的鼓励是我创作的动力之源让我们一起加油一起奔跑让我们顶峰相见
目录
一.什么是位段
二.位段的内存分配 位段的好处
三.位段的跨平台问题
四.位段的应用 一.什么是位段 位段的声明和结构是类似的有两个不同 1.位段的成员必须是 int、unsigned int 或signed int 2.位段的成员名后边有一个冒号和一个数字 其中后面的数字表示冒号前面成员所占多少个比特位 比如 A就是一个位段类型 那位段A的大小是多少 这个就要引出 位段的内存分配这个问题了 二.位段的内存分配 1. 位段的成员可以是 int unsigned int signed int 或者是 char 属于整形家族类型 2. 位段的空间上是按照需要以4个字节 int 或者1个字节 char 的方式来开辟的 3. 位段涉及很多不确定因素位段是不跨平台的注重可移植的程序应该避免使用位端 例如 分析内存分配 根据上面的分析struct S 所占内存位3个字节
并且在内存中观察应该为620304
通过代码运行验证 根据验证我们分析是正确的 位段的好处
当一个变量的取值范围是0~3是只需要用两个比特位就可以表示就不需要给它一个整型的大小这样就可以节省空间 三.位段的跨平台问题 1. int 位段被当成有符号数还是无符号数是不确定的。 2. 位段中最大位的数目不能确定。16位机器最大1632位机器最大32写成27在16位机 器会出问题。 3. 位段中的成员在内存中从左向右分配还是从右向左分配标准尚未定义。 4. 当一个结构包含两个位段第二个位段成员比较大无法容纳于第一个位段剩余的位时是 舍弃剩余的位还是利用这是不确定的 总结 跟结构相比位段可以达到同样的效果并且可以很好的节省空间但是有跨平台的问题存在。 四.位段的应用
应用IP数据包格式 本章完~