struct _DATA_TEST
{
unsigned int T:8;
unsigned int D:1;
unsigned int R:1;
unsigned int M:6;
unsigned int ra:16;
};bool build(unsigned char en, int l, int d, int ra)
{
_DATA_TEST Data;
Data.t= en;
Data.R = 0;
Data.D = d;
Data.M = l;
Data.ra = htons(ra);
}我定义这样的位结构来对这个结构进行操作,但是我发现当我把d的值传递为1后,然后把包发出去,在Ehtereal里抓包发现,Data.D的值为0,并没有被置为0,而Data.M的值被改变了,请问是什么地方出了问题啊?