位域可以按需占用存储空间。可以多个变量公用一个存储单位,比如单字节,双字节等等。以下是试验的样例程序。

#include <cstdlib>
#include <iostream>
#pragma pack(2)     //此处2,使得位域以2字节对齐。如果是1,则以1字节对齐。

using namespace std;

struct BitVariable {
       unsigned short int a:2;
       short int b:3;
       //int :0;     // 第一字节的后3位不用,填0,C从新字节开始.
       short int c:6;
     
       } BitVariable1;

int main(int argc, char *argv[])
{
    struct BitVariable BV1;
    BV1.a=2;   //10
    BV1.b=8;   //1000   
    BV1.c=86;  //1010110
   
    cout<<BV1.a<<endl;  //output 2  <===> 10B 
    cout<<BV1.b<<endl;  //output 0  <===> 1000B
    cout<<BV1.c<<endl;  //output 22 <===> 10110B 
    cout<<sizeof(BitVariable)<<endl;  //2 (如果pack(1),并且当c:1时,此处输出1,即按1字节对齐)
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

C中位域Struct操作相关推荐

  1. HiveSQL中复杂数据类型操作

    HiveSQL运行优化参数配置 HiveSQL常用数据处理语句 HiveSQL中复杂数据类型操作 Hive有三种复杂数据类型ARRAY.MAP和STRUCT,复杂数据类型允许任意层次的嵌套. 目录 a ...

  2. influxdb tsm文件_Influxdb中的Compaction操作

    Influxdb中的Compaction操作 Compaction概述 Influxdb的存储引擎使用了TSM文件结构,这其实也是在LSM-Tree基础针对时序特点作了改进,因此其与LSM-Tree类 ...

  3. 写出记录型信号量中的wait操作代码_操作系统进程的同步与互斥及经典同步与互斥问题...

    概览 临界区临界区的引入 在系统当中,有些资源允许多个进程共享(磁盘),有些资源只允许进程单独使用(打印机,共享变量).为了让进程单独使用资源而不受其他进程干扰引入了临界区的概念. 临界区的概念 在一 ...

  4. 简单理解操作系统中的PV操作

    可以这样理解: 临界区门前有棵树 用来挂红灯 进程想进CPU的门 先得上树取下盏灯(调用一次P) 取下一个去敲门(S=S-1) 如果树上没有灯取(S<=0) 树说暂时欠你一盏灯(S为负时) 进程 ...

  5. VC++编程中的文件操作API和CFile类

    VC++编程中的文件操作API和CFile类 在VC编程中,操作文件的方法主要有两种:利用API函数和MFC的CFile类.微软在其中封装了文件的一般操作,下面我就介绍一下如何利用这两种方法实现文件操 ...

  6. 记一次c++中的文件操作

    前些日子,帮实验室师姐做了一个小任务,关于数据清洗,分类的.具体要求如下 --------------------------------------------------------------- ...

  7. Python使用matplotlib绘制数据去重前后的柱状图对比图(在同一个图中显示去重操作之后同一数据集的变化情况)

    Python使用matplotlib绘制数据去重前后的柱状图对比图(在同一个图中显示去重操作之后同一数据集的变化情况) #仿真数据 import pandas as pd import numpy a ...

  8. java8 流操作_java8中的流操作

    Stream 流是 Java 8 新提供给开发者的一组操作集合的 API,将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选.排序.聚合等.元素流在管道中经过 ...

  9. SAP 操作,弹出报错 - 已根据规则拒绝服务器触发的操作,是否要查看上个通讯步骤中触发的操作列表 -

    SAP 操作,弹出报错 - 已根据规则拒绝服务器触发的操作,是否要查看上个通讯步骤中触发的操作列表 - 收到用户报错说,他执行MIR7做预制发票的时候,SAP弹出如下框框: 登陆SAP,左键单击如下图 ...

最新文章

  1. Android stadio Switch repository Android stadio切换仓库
  2. RK3288 添加USB转虚拟串口设备
  3. 程序员面试100题之十一:数组循环移位
  4. 统计学经典书籍分享【PDF下载】
  5. 18、数据的备份和还原
  6. java多线程 future_Java多线程Future模式
  7. 服务器文件绝对路径,服务器文件绝对路径
  8. iPhone xs是最尴尬的一款手机吗?为什么?
  9. linux系统及服务安全(持续更新中)
  10. Perl线程开发过程中的经验
  11. firefox 邮箱分类过滤
  12. 全球及中国3D打印人体器官行业发展态势及前景策略分析报告2022-2028年
  13. ldc java_Jvm规范中的LDC_W指令问题?
  14. 计算机专业英语读书笔记,英语的读书笔记(精选10篇)
  15. 帝国CMS7.5仿千图网图片素材下载模板升级版
  16. jbox弹窗_Jquery多功能提示通知弹出对话框插件jBox中文文档
  17. 范渊免职——网安界其人曾异军突起又将“落幕”?
  18. 手机突然电量消耗很快_手机电量突然消耗快是什么原因 教你解决
  19. 关于ISO七层模型你应该知道的东西
  20. ios13全选手势_苹果手机双指、三指等操作手势,升级iOS13之后,居然多了这么多新操作?...

热门文章

  1. 绿色网格称其IT环境评估工具取得成功
  2. 和我一起学CSLA.NET----创建业务对象2
  3. 基于android鲜花销售app,基于Android的鲜花APP设计任务书
  4. 企业大数据的主要竞争优势
  5. 服务器间数据传输的四种方式
  6. 电脑脱机状态怎么解除_win7系统如何解除脱机工作 win7系统解除脱机工作步骤【介绍】...
  7. 安装卡主_吸顶灯怎么安装 吸顶灯安装方法【技巧】
  8. android的底部弹出框炫酷的样式,Android自定义底部弹出框ButtomDialog
  9. vue watch 修改滚动条_vue 中滚动条始终定位在底部的方法
  10. [postgresql]postgresql的聚合函数sql实例