当前位置: 首页 > news >正文

和田网站制作南约社区网站建设

和田网站制作,南约社区网站建设,qq公众号 wordpress,网站设计步骤ppt1.什么是位段 位段的声明和结构体是类似的,有两个不同: 1.位段的成员必须是int、unsigned int 或 signed int 和 char,在C99中位段成员的类型也可以选择其他类型。 2.位段的成员后面有一个冒号和一个数字。 比如: struct A {int _a:2;/…

1.什么是位段

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

1.位段的成员必须是int、unsigned int 或 signed int  和 char,在C99中位段成员的类型也可以选择其他类型。

2.位段的成员后面有一个冒号和一个数字。

比如:

struct A
{int _a:2;//2个比特位int _b:5;//5个比特位int _c:10;//10个比特位int _d:30;//30个比特位
};//其中int——4个字节——32个比特位,所以int类型的成员后面的数字不能超过32

2.位段的内存分配

1.位段的成员可以是int unsigned int  signed int char等类型

2.位段的空间上是按照需要以4个字节(int) 或者1个字节(char)的方式来开辟的

3.位段涉及很多不确定因素,位段是不垮平台的,注重可移植的程序应该避免使用位段

struct S
{char a:3;char b:4;char c:5;char d:4;
};
struct S s = {0};
s.a = 10;
s.b = 12;
s.c = 3;
s.d = 4;

3.位段的跨平台问题

总结:

跟结构相比,位段可以达到相同的效果,并且可以很好的节省空间,但是有跨平台的问题存在。

4.位段的应用

下图是网络协议中,IP数据报的格式,我们可以看到其中很多的属性只需要⼏个bit位就能描述,这里使用位段,能够实现想要的效果,也节省了空间,这样网络传输的数据报大小也会较小⼀些,对网络的畅通是有帮助的。

5.位段使用的注意事项

位段的几个成员共有同⼀个字节,这样有些成员的起始位置并不是某个字节的起始位置,那么这些位置处是没有地址的。内存中每个字节分配⼀个地址,⼀个字节内部的bit位是没有地址的。
所以不能对位段的成员使用&操作符,这样就不能使用scanf直接给位段的成员输入值,只能是先输入放在⼀个变量中,然后赋值给位段的成员。

 

struct A
{int _a:2;  int _b:5;int _c:10;int _d:30;
};
int main()
{struct A sa = {0};scanf("%d",&sa._b);//这是错误的
//正确的示范int b = 0;scanf("%d",&b);sa._b = b;return 0;
}

 

http://www.dtcms.com/a/558143.html

相关文章:

  • 江西省住房和城乡建设部网站谷歌seo外链平台
  • 使用 windeployqt 工具自动部署Qt依赖环境(DLL、插件、翻译文件等)
  • RDPWD!WDWParseUserData函数分析之Loop through user data--非常重要
  • php教育视频网站开发织梦cms视频网站建设
  • 合肥网站优化平台最有实权的十大部门
  • 安徽湖滨建设集团有限公司网站宜春网站建设推广
  • 洞口网站建设常用的网页编辑工具有哪些
  • 单片机中的中断
  • 深圳网站设计 建设元程序员建网站
  • 小学校园网站建设要求做网站程序看什么书
  • 从0死磕全栈之深入理解 Next.js 中的 NextResponse:API 详解与实战示例
  • 彩票网站开发制作需要什么php网站接入支付宝
  • 如何做网站聚合页做普工招聘网站
  • LLM之Agent(二十四)| AI Agents上下文工程(Context Engineering)指南
  • 简述网站的四种常见结构网站用的服务器
  • 【大模型训练】zero2 梯度分片
  • 网站权重怎么看百度百科合作模式
  • 英文网站如何推广新手建站论坛
  • 瑞尔特(002790)2025年10月31日涨停分析报告
  • VTK开源视觉库 | 概述
  • css样式学习
  • 三大AI部署框架对比:本地权重与多模型协作实战
  • 中科大自适应推理具身导航框架!AdaNav:基于不确定性驱动自适应推理的视觉语言导航
  • 5自己建网站平面设计图数字标识
  • 设计师必去的网站三丰云免费云服务器
  • 使用 Rust 开发图片切分工具:从零到发布的完整指南
  • 做ppt做好的网站wordpress添加修改记录
  • 横向网站源码lamp lnmp wordpress
  • 使用线程池
  • 如何进入设计公司网站绵阳市公司网站建设