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

E34.【C语言】位段练习题

1.题目

分析下列代码中位段在内存中的排布(已知测试平台为VS2022)

struct S
{
	int a : 2;
	int b : 5;
	int c : 10;
	int d : 30;
};

int main()
{
	struct S s = { 0 };
	return 0;
}

有关位段的知识点见64.【C语言】再议结构体(下)文

2.提示

VS满足:由低地址向高地址存储,按浪费空间处理,设二进制数据的存储顺序为从右向左

3.分析

位段的空间以4个字节(int)或者1个字节(char)的方式来开辟

因此一次性申请4个字节

二进制数据的存储顺序为从右向左,d不够存储,则再开辟4字节空间单独存储d,有两部分空间被浪费

则图为


http://www.kler.cn/news/325989.html

相关文章:

  • 使用Python实现图形学的阴影体积算法
  • 秘密武器与选择指南
  • maven给springboot项目打成jar包 maven springboot打包配置
  • 深入解析 NoSQL 数据库的分类与特点
  • Qt5和Qt6获取屏幕的宽高,有区别
  • CSS宽度和高度
  • C++的6种构造函数
  • 8月面试总结
  • sql注入工具升级:自动化时间盲注、布尔盲注
  • IT基础监控范围和对象
  • Excel 获取某列不为空的值【INDEX函数 | SMALL函数或 LARGE函数 | ROW函数 | ISBLANK 函数】
  • Linux编译与调试
  • 四非人的保研之路,2024(2025届)四非计算机的保研经验分享(西南交通、苏大nlp、西电、北邮、山软、山计、电科、厦大等)
  • docker管理
  • qt使用QDomDocument读写xml文件
  • 10分钟制作一个简易的word模版
  • 在 React 项目中渲染 Markdown 文件
  • 【深圳大学】大学物理实验2 光栅光谱仪 预习参考
  • 国产RISC-V蓝牙MCU推荐
  • 【mysql相关总结】
  • 个人文章合集 - 前端相关
  • docker 部署 WEB IDE
  • 用 Go 和 Redis 构建一个简单的任务管理系统
  • 【MySQL】服务器管理与配置
  • FPGA学习(1)-mux2,2选1多路器
  • 速盾:网页游戏部署高防服务器有什么优势?
  • 数据结构编程实践20讲(Python版)—02链表
  • CAD图纸加密软件有哪些好用的?10款企业必备的图纸加密软件!
  • javdoc:(JDK9)VISITOR模式遍历语法树(DocCommentTree)获取代码注释中的tag(@return,@param)对象
  • 【Linux】基于驱动框架的程序编写测试