计算联合体大小的测试demo

两个规则:

  • 1.联合体大小必须能容纳联合体中最大的成员变量
  • 2.通过规则1 计算出的联合体大小必须是联合体中占内存大小最大的成员类型的整数倍
#include

typedef union 
{
    char a[7];
    int b;
}test_union_1;

typedef union 
{
    char a[6];
    char b;
}test_union_2;

typedef union 
{
    int a;
    long b;
}test_union_3;

typedef union 
{
    char a[10];
    char b[5];
}test_union_4;

int main()
{
    int len1 = sizeof(test_union_1);
    printf("len1 = %d\n",len1);

    int len2 = sizeof(test_union_2);
    printf("len2 = %d\n",len2);

    int len3 = sizeof(test_union_3);
    printf("len3 = %d\n",len3);

    int len4 = sizeof(test_union_4);
    printf("len4 = %d\n",len4);
    return 0;
}

在这里插入图片描述

你可能感兴趣的:(c语言,c语言)