-4

今まで見たことのない構文に出くわしました。

typedef struct SomeStruct
{
    unsigned char ip_version :4;
    unsigned char ip_tos;
    unsigned char ip_frag_offset :5;
    unsigned char ip_more_fragment :1;
    unsigned char ip_dont_fragment :1;
    unsigned char ip_reserved_zero :1;
    unsigned char ip_frag_offset1;
    unsigned char ip_ttl;
} SomeHeader;

は何のcolon #;ためですか?代入演算子を使うのと同じですか?コロンを使用する理由と、これが許可されている利点や理由はありますか?

4

1 に答える 1

1

これらはビット フィールドです。

Google で「c struct syntax」を検索すると、これを見つけることができたはずです。私にとって、最初の結果はウィキペディアで、ビット フィールド セクションがあります。

于 2013-07-12T19:29:50.497 に答える