为什么填充基于数据类型工作

时间:2017-05-07 17:51:13

标签: c

我想知道下面这个程序的行为,因为填充工作基于C编程中的相邻数据类型。

#include <stdio.h>
struct abc{
    char a1;
    int a2;
}X;
struct efg
{
    char b1;
    double b2;
}Y;
int main()
{
    printf("Size of X = %d\n",sizeof(X));
    printf("Size of Y = %d\n",sizeof(Y));
    return 0;
}

节目输出

root@root:~$./mem 
Size of X = 8
Size of Y = 16

在结构abc中填充3个字节,而在结构efg中填充7个字节。

这是填充设计的吗?

0 个答案:

没有答案