计算结构体的大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算结构体的大小相关的知识,希望对你有一定的参考价值。

typedef struct
{
  int num:16;   //指定num所占空间为16位,即2字节
}A1;

typedef struct
{
  int num:16;   //3个16位,本来为6字节,补齐为8字节
  int num1:16;
  int num2:16;
}A2;

typedef struct
{
  int num:8;   //1个8位,本来为1字节,补齐为4字节

}A3;

typedef struct
{
  int num:8;   //3个8位,本来为3字节,补齐为4字节
  int num1:8;
  int num2:8;
}A4;

int main(void)
{
    A1   a1;
    A2   a2;
    A3   a3;
    A4   a4;

    cout << sizeof(a1)<<endl;   //4
    cout << sizeof(a2)<<endl;   //8
    cout << sizeof(a3)<<endl;   //4
    cout << sizeof(a4)<<endl;   //4
}

以上是关于计算结构体的大小的主要内容,如果未能解决你的问题,请参考以下文章

计算结构体的大小

sizeof()计算结构体的大小

C++中结构体的大小

计算结构体的大小

计算结构体的大小-数据对齐提高读取性能与可移植性,利用空间换时间

结构体大小的计算方法