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

C语言基础知识--位段

// 7、结构体实现位段的功能
// 8、位段成员必须是 :int unsigned int ,signed int,c99 中可以是其他类型
// 位指的是二进制位,大小不能超过自身类型的大小,例如int类型占32位,那么int类型的位段成员最多只能有32位。
// 9、位段成员不能有初始值,成员后面必须要有冒号和一个数字
// 位段的空间是按照需要以 4(int)个字节或1(char)个字节的方式来开辟的// struct bit_seg {
//     unsigned int _a:10; // 10位,数字代表位数
//     int _c:12;
//     signed int _d:16;
// };
// int main() {
//     struct bit_seg bs;
//     printf("%zd\n", sizeof(bs)); // 8个字节 10 12 :32 ,16:32
//     return 0;
// }
// 10、给定了空间后,是从左向右使用还是从右向左使用,不确定
// 11、当剩下的空间不足以存放下一个成员时,空间会浪费还是继续使用,不确定
// 12、位段的跨平台性:
// 位段的最大位的数目不能确定,
// int位段被当成有符号和无符号位是不确定的
// 位段中的成员在内存中从左向右分配,还是从右向左分配,标准未定义
// 跟结构相比,位段可以达到同样的效果,并且可以很好的节省空间,不能实现跨平台
// 位段的应用:不能位段的成员使用 & 运算符 和成员访问符号// struct node {
//    unsigned int a : 1;
//    unsigned int b : 1;
//    int c : 10;
//    int d : 10;
// };
// int main() {
//    struct node n = {0};
//    int d = 0;
//    scanf ("%d", &d);
//    n.d = d;  // 赋值给一个变量 ,不能直接赋值
//    printf ("%d\n", n.d);
//    return 0;
// }// struct node {
//   unsigned int a : 1;
//   unsigned int b : 1;
//   unsigned int c : 1;
//   unsigned int d : 1;
//   unsigned int e : 1;
//   unsigned int f : 1;
//   unsigned int g : 1;
//   unsigned int h : 1;
// };
http://www.dtcms.com/a/276462.html

相关文章:

  • UE制作的 AI 交互数字人嵌入到 Vue 开发的信息系统中的方法和步骤
  • 【MaterialDesign】谷歌Material(Google Material Icons) 图标英文 对照一览表
  • AI问答:成为合格产品经理所需能力的综合总结
  • dify工作流1:快速上手ai应用
  • 计算机毕业设计Java停车场管理系统 基于Java的智能停车场管理系统开发 Java语言实现的停车场综合管理平台
  • 网络通信模型对比:OSI与TCP/IP参考模型解析
  • 《Java Web程序设计》实验报告三 使用DIV+CSS制作网站首页
  • ServiceNow Portal前端页面实战讲解
  • [案例八] NX二次开发长圆孔的实现(支持实体)
  • C++中Lambda表达式 [ ] 的写法
  • Redis面试精讲 Day 1:Redis核心特性与应用场景
  • 浅谈 Python 中的 yield——生成器对象与函数调用的区别
  • 2025必问46道软件测试面试题(答案+文档)
  • Armstrong 公理系统深度解析
  • 网络安全初级第一次作业
  • super task 事件驱动框架
  • Openpyxl:Python操作Excel的利器
  • 浅谈npm,cnpm,pnpm,npx,nvm,yarn之间的区别
  • Python 数据建模与分析项目实战预备 Day 3 - 特征工程基础与数据预处理(针对简历结构化数据)
  • 使用iso制作ubuntu22.04docker镜像
  • 处理日期与时间
  • 【嵌入式电机控制#13】PID参数整定的全面步骤
  • ClickHouse 25.6 版本发布说明
  • 【华为机试】HJ68 成绩排序
  • 从0设计一个短链接服务:如何实现尽可能短、可变长的短网址系统?
  • 过拟合 跷跷板 幻觉 混合精度
  • 计算机毕业设计springboot影视周边推荐系统 基于SpringBoot的电影衍生品智能推荐平台 JavaWeb实现的影视文化周边个性化服务系统
  • git版本发布
  • 黑客工具Nessus介绍及其安装使用教程
  • 使用Kali Linux hydra进行密码爆破(仅供学习)