zoukankan      html  css  js  c++  java
  • 结构体对齐、位域结构体

    1、结构体对齐

    按照结构体中最大字节元素的字节个数对齐,比方说有最大基本元素数据类型为int,按照4字节对齐。最大为short,按照2字节对齐。

    typedef struct    //最大的元素的基本数据类型为(int)4个字节
    {
      char numChar;  //占据一个字节
      int numInt;    //第一个位只剩3字节,无法容下int,只能占据第二位(四字节为一个对齐单位)。
      short numShort;  //占据第三位,补上2个字节
    }test1;    //sizeof(test1)=12;
    typedef struct
    {
      int numInt;
      char numChar;
      short numShort;
    }test2;  //sizeof(test2)=8;
    typedef struct
    {
      short numInt;
      char hah;
      short numShort;
      char numChar;
    }test3;  //sizeof(test3)=8;

    2、位域结构体

    位结构体是一种特殊的结构体,在需访问某个字节或者某个字节的指定位的时候,位结构体比按位操作简便

    typedef struct {
      float adCheckValue;   //AD判断阈值
      int tianNum;   //车号
      struct{
        char checkStatus : 4;   //自检状态,占据第一个字节(char)的低四位。
        char AlarmStatus : 4;   //报警状态,占据第一个字节(char)的高四位。
        ushort overFlowCnt : 8;  //失稳溢出计数,占据第三个字节
        ushort isOpen : 1;  //占据第3个字节的第0位
      }statusData;
    }OriginalData;

    坚持成就伟大
  • 相关阅读:
    杭电ACM 2052 Picture
    杭电ACM求平均成绩
    杭电ACM水仙花数
    cigarettes
    分数加减法
    推荐几个sql server牛人的博客
    npm 介绍
    centos Flash Player插件的安装
    node.js学习(1)
    查询功能:yum [list|info|search|provides|whatprovides] 参数
  • 原文地址:https://www.cnblogs.com/xian-yongchao/p/9542561.html
Copyright © 2011-2022 走看看