新手提问,关于C语言共用体字节数
如果问题太水或者什么的,版主可以告诉我,我问完自删遇到有关共用体字节数的题目,于是我用写了一小段代码输出共用体的字节数,但发现了一点问题:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
union aa{
int x,y;
char c[6];
}a;
printf("%d", sizeof(a));
return 0;
}
当共用体只有字符数组c时,共用体字节数为6
只有x,y时,字节数为4
问题来了:
当两者都有时,按照理论,共用体字节数应该为6,但运行结果是8
这是为什么呢?