-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 回答