2010-12-07 25 views
4

可能性の重複:
What does 'unsigned temp:3' meansこの構造体定義でコロンは何をしますか?

私は、この構造体の定義を理解していません。それは私には違法なようだが、どうやらそうではありません:私はタイプなしunsignedとして変数をマーキングunsigned intとしてそれをマークと同じであることを

typedef struct 
{ 
    unsigned i:1; 
} my_struct; 

と信じています。しかし、私は結腸に完全に困惑しています。それは何をするためのものか?私の推測では、それはある種のイニシャライザですが、私はそれが何を意味しているのかわかりません。私の頭の上から離れて、私がCでコロンを期待している唯一の場所は三項演算子であり、これは明らかにそうではありません。ですから、これは私が慣れ親しんでいない構成要素のようです。誰でもこのコロンの目的がこの構造体の定義に何であるか説明できますか?宣言はどういう意味ですかunsigned i:1;

答えて

8

iは1ビット幅であると定義します。 i:xが指定されている場合、iはxビット幅であると定義されます。