typedef struct
{
UINT16 u16CNT : 1;
UINT16 u16Re : 6;
UINT16 u16Comm : 1;
UINT16 u16Comm : 8;
UINT16 u16SlaveN : 7;
UINT16 u16Protoco : 6;
UINT16 u16AAM : 1;
UINT16 u16AME : 1;
UINT16 u16IDE : 1;
UINT16 u16CommS : 12;
UINT16 u16CommE : 4;
UINT16 u16Data1 : 16;
UINT16 u16Data2 : 16;
UINT16 u16Data3 : 16; }FRAM;
请问这个类似在TI头文件中定义的位域 应该怎么理解呢?
比如:这个变量 u16CNT 占多大空间?只占1位吗?
Forrest:
是的,只占一位,楼主可以编段程序测试一下。
typedef struct
{
UINT16 u16CNT : 1;
UINT16 u16Re : 6;
UINT16 u16Comm : 1;
UINT16 u16Comm : 8;
UINT16 u16SlaveN : 7;
UINT16 u16Protoco : 6;
UINT16 u16AAM : 1;
UINT16 u16AME : 1;
UINT16 u16IDE : 1;
UINT16 u16CommS : 12;
UINT16 u16CommE : 4;
UINT16 u16Data1 : 16;
UINT16 u16Data2 : 16;
UINT16 u16Data3 : 16; }FRAM;
请问这个类似在TI头文件中定义的位域 应该怎么理解呢?
比如:这个变量 u16CNT 占多大空间?只占1位吗?
10#:
结构体的定义,查看C语言教程,分号后的数字表示该结构体成员变量所占用空间的大小。