首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求共用体sizeof大小,该怎么处理

2012-10-24 
求共用体sizeof大小#include stdio.htypedef unsigned char BYTEtypedef struct{BYTE aBYTE bBYTE c

求共用体sizeof大小
#include "stdio.h"
typedef unsigned char BYTE;
typedef struct 
{
  BYTE a;
  BYTE b;
  BYTE c;
  BYTE d;
} BitField_t;
void main()
{

typedef union uu{
BitField_t e;
//BYTE eBitField;
BitField_t e1;
BitField_t e3;
long l;
long k;
BYTE eBitField;
BYTE eBitField1;
BYTE eBitField2;
}aa;
printf("%d",sizeof(aa));
}

为什么是4呢?

[解决办法]
sizeof(aa)=sizeof(long)
[解决办法]
共用体的大小是成员里面,占字节最长的
[解决办法]
据说是共用体里最长的
[解决办法]
对于联合体来说,长度是内部成员长度最长的那个
http://topic.csdn.net/u/20110729/11/1549376a-e23e-441a-a618-bb2a9826b078.html
[解决办法]
aa的长度就是sizeof(long)
[解决办法]
之所以称为共用体,是因为它的各成员都用同一段内存储存数据的,因此一次只能使用其中的一个成员,而且下一次使用另一个成员时,将覆盖前一个成员的数据,因此它的大小自然是由共用体中长度最长的那个成员决定喽。
[解决办法]

探讨

aa的长度就是sizeof(long)

热点排行