typedef union { struct { byte pActv: 1; byte pType: 3; byte pModf: 1; byte pGlob: 1; byte pStar: 1; byte pItem: 1; byte pResv: 8; }pStruct; unsigned short int pWord; }pAttrDef; typedef sturct { const unsigned char ChsData[8]; const unsigned char MenuLen; const unsigned char MenuItem; unsigned short int Para; const pAttrDef Attr; const unsigned short int MaxPara; const unsigned short int MinPara; }MenuDataStructDef MenuDataStructDef MenuData[]=xxxxxxxxxx 请问有这样的用法吗?结构体里面同时包含变量和常量? 在coldfire上面跑,发现好像不能对齐,结构体定义时常量有初始化,但是在仿真的时候看到的跟定义的不一致。 也有可能是pAttrDef的定义有问题,因为不一致在Attr就开始,前面的ChsData[8],MenuLen和MenuItem都没问题。 难道要把变量放到最后,不能插在中间? 只能明天再试试。 望高手们指点指点。。。 [em02][em02][em02] |