typedef struct _COMSTAT { 
  DWORD fCtsHold : 1; 
  DWORD fDsrHold : 1; 
  DWORD fRlsdHold : 1; 
  DWORD fXoffHold : 1; 
  DWORD fXoffSent : 1; 
  DWORD fEof : 1; 
  DWORD fTxim : 1; 
  DWORD fReserved : 25; 
  DWORD cbInQue; // 接收队列内数据量
  DWORD cbOutQue; // 发送队列内数据量
} COMSTAT, *LPCOMSTAT; 
这里的“:1“ 表示什么意思?

解决方案 »

  1.   

    在此结构中,表示此值是DWORD中的一位。
      

  2.   

    加与不加有什么区别?
    我在c#中用到这个结构传值
    [StructLayout(LayoutKind.Sequential)]
    public  struct COMSTAT
    {
        public int fCtsHold; 
        public int fDsrHold; 
        public int fRlsdHold; 
        public int fXoffHold; 
        public int fXoffSent; 
        public int fEof; 
        public int fTxim; 
        public int fReserved ; 
        public int cbInQue; 
        public int cbOutQue; 
    }
    ClearCommError(hCommFile,errs,comstat);
    得到的cbInQue的值一直是0:(
      

  3.   

    对,表示该变量只占用 DWORD 的一个字节。
    如果刚好有32个这样的变量,就刚好占用一个 DWORD 的空间,是不是比定义 32 个 BOOL 变量来的舒服啊:)
    这样声明可以节省空间,而且也很方便,简洁。