首页 > 其他分享 >结构体——位段

结构体——位段

时间:2023-07-25 19:34:03浏览次数:340  
标签:char 字节 int 成员 位段 结构 struct

//结构体--位段 (位 指二进制位 )
// 位段的声明与结构体是类似的
// 1,位段的成员必须是 int ,unsigned int 或 signed int
// 2,位段的成员名后边有一个冒号和一个数字。(数字表示开辟需要的比特位个数)
//
// 位段的内存分配
// 1,位段的成员可以是 int/unsigned int/signed int/char 整型家族类型
// 2,位段的空间是按照需要4个字节或者1个字节的方式开辟的
// 3,位段涉及很多不确定因素,是不夸平台的,注重可移植的程序要避免使用
// {1,int的有无符号位是不确定的
// 2,位段的最大位的数目不确定的
// 3,位段中的成员在内存中是从左向右分配还是从右向左分配标准未定义
// 4,当一个结构包含两个位段,第二个位段成员比较,无法容纳于第一个位段剩余
// 的位时,是否舍弃剩余位还是继续利用,是不确定的}
//

struct S
{
int _a : 2;//需要2个bit位
int _b : 5;
int _c : 10;
int _d : 30;
};
struct S1
{
char a : 3;
char b : 4;
char c : 5;
char d : 4;
};
int main()
{
struct S a;
struct S1 s;
s.a = 10;
s.b = 20;
s.c = 3;
s.d = 4;//取地址s 可得到 十六进制 (为开辟空间后二进制转换为16进制)
printf("%zd\n", sizeof(a));//8个字节
printf("%zd\n", sizeof(s));
return 0;
}

 

标签:char,字节,int,成员,位段,结构,struct
From: https://www.cnblogs.com/zrk-8008/p/17580787.html

相关文章

  • sql server .bak 上的介质簇的结构不正确。
    SQLServer.bak上的介质簇的结构不正确简介在SQLServer中,备份文件(.bak)是一种常见的数据库备份方式。然而,有时候我们可能会遇到"介质簇的结构不正确"的错误。这个错误通常是由于备份文件损坏或者不完整导致的。在本文中,我将向你介绍如何解决这个问题。解决步骤以下是解决"......
  • 7.25 day2数据结构优化dp
    战绩:100+100+20+54=374T1据lxl说是为了成绩好看加的题,难度大概cspjT1T2朴素dp然后树状数组优化一下T3赛时脑抽链,写了个dp,一直想优化dp,其实贪心就好了,过程更加简洁,优化很显然先将区间剖分成两段端点\(s_i=s_j\)相同的多条线段将区间每个点吸附到离他右边最近的一个线段......
  • 循环结构
    循环结构-while循环-do...while循环-for循环-for循环-在Java5中引入了一种主要用于数组的增强型for循环while循环-while是最基本的循环,它的结构为publicclassdemo1{publicstaticvoidmain(String[]args){while(布尔表达式){//......
  • vue项目目录结构和启动过程
     1.首先是index.htmlindex.html则是项目的首页,入口页,也是整个项目唯一的HTML页面。一般只定义一个空的根节点,在main.js里面定义的实例将挂载在根节点下,内容都通过vue组件来填充。2.src/main.js相当于Java中的main方法,是整个项目的入口js。主要是引入vue框架,根组件及路由设......
  • 如何构造类似数组的数据结构?
    ..介绍在开始解决数组问题之前,理解并实现类似数组的数据结构是一个很好的实践。本课教您如何实现常见的数组操作,例如插入元素、删除元素、获取元素、求数组长度以及打印数组元素。我们正在建设什么?我们将从头开始构建一个数组,其中包含一些最常见的数组操作,如上所述。我们还将学习如......
  • 2.3 函数与结构体 参考代码
    P5735[深基7.例1]距离函数#include<cstdio>#include<cmath>doubledistance(doublex1,doubley1,doublex2,doubley2){returnsqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));}intmain(){doublex1,y1,x2,y2,x3,y3;scanf(&q......
  • 英语笔记:一般现在时态主谓宾结构构成方式
    主谓宾结构一般现在时态构成方式语法知识首先,上课常说的“主谓宾”其实包含了四个句型,也就是:主语+不及物动词(谓语)主语+及物动词(谓语)+宾语主语+双宾动词(谓语)+间接宾语+直接宾语主语+特定及物动词(谓语)+宾语+宾补这四个句型一般现在时态的构成方式是一样的,因此,学会了“......
  • 2023年第二届先进土木工程与智能结构国际会议(ACESS2023)
    会议时间:2023年11月25-26日会议地点:中国成都会议官网:http://www.icacess.org收录检索:提交至EIcompendex、scopus、googlescholar会议简介:2023年第二届先进土木工程与智能结构国际会议(ACESS2023)将于2023年11月25日至26日在中国成都举行。会议旨在为国内外土木工程和智能结......
  • 1.2.3 计算机系统的层次结构
    计算机系统的层次结构下层是上层的基础,上层是下层的扩展三种级别的语言注:编译、汇编、解释程序,可统称“翻译程序”......
  • 顺序结构、选择结构
    顺序结构-Java的基本结构就是顺序结构,出发特别指明,否则就按照一句一句执行-顺序结构是最简单的算法结构-语句与语句之间,框与框之间是按照从上往下的顺序执行的,它由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构选择结构-if单选结构-......