按位定义结构体

    技术2022-05-20  35

    按位定义一个结构体 struct   s_DosAttributes { unsigned   ReadOnly     :1; unsigned   Hidden         :1; unsigned   System         :1; unsigned   VolumeID     :1; unsigned   Directory   :1; unsigned   Archive       :1; unsigned   reserved     :2; };

     

    这个结构共占用4个字节,   ReadOnly占用Bit0,   Hidden占用Bit1...reserve占用Bit7和Bit6 比如 struct   s_DosAttributes   st; memset(&st,   0,   sizeof(st)); st.ReadOnly   =   1; st.VolumeID   =   1; st.reserved   =   3; unsigned   char   c; memcpy(&c,   &st,   sizeof(c)); 这时c   的值是0xc9;


    最新回复(0)