这是一个全局描述府的结构:
struct struct_pyos_GdtItem{ 
> unsigned short SegLengthLimit_0_15 ; // 段限0~15位
> unsigned short SegBaseAddr_0_15 ; // 基址的 0~15 位
> unsigned char SegBaseAddr_16_23 ; //基址的16~23位
> unsigned char Type : 4 ; //type位
> unsigned char S : 1 ; //S位
> unsigned char DPL : 2 ; // 特权位
> unsigned char P : 1 ; //P位
> unsigned char SegLengthLimit_16_19 : 4 ; //段限的16~19位
> unsigned char AVL : 1 ;//AVL位
> unsigned char Saved : 1 ; //保留位,必须为0
> unsigned char DorB : 1 ; //D/B位
  unsigned char G : 1 ; //G位
> struct_pyos_GdtItem> unsigned char SegBaseAddr_24_31 ; //基址的24~31位
> } ;1,unsigned char G : 1 ; 可以这样?2,sizeof(struct_pyos_GdtItem) = 8;
如果我在这个结构的最后又加上一个成员:unsigned char ABC : 1 ; 
这样的话sizeof(struct_pyos_GdtItem)竟然变成了10,
或者我把这个结构去掉一些成员,sizeof的值总是以2为单位递减,请问这是为什么