通讯协议中的数据结构定义-在程序中的数据结构与组织

最近在定义项目底层的数据结构时,发现了一个很好的树形图法定义数据结构,这个里更大家分享一下。。。

        当涉及到通讯协议时,往往我们会有一系列的数据定义、位定义以及相当数量的预留位。当程序中读取和传输这些通讯协议中的有效数据位时,往往是不确定性的。有整字节读取,位读取,多位读取等。当然写入也一样。由于这些原因,当我们对某些位或者字节进行操作时,麻烦就来了。

        使用树形结构,充分利用结构体和联合体,这些将会变的简洁明了了。。。

 

typedef unsigned char  u8;         //最底层的哦,以下开始树形结构的定义。。。

typedef struct eigth_bits
    {
        u8 bit0  :1;
        u8 bit1  :1;
        u8 bit2  :1;
        u8 bit3  :1;
        u8 bit4  :1;
        u8 bit5  :1;
        u8 bit6  :1;
        u8 bit7  :1;
     }eigth_bits;

 

typedef union BITSET8              //这里原子操作,被定义了。。。
     {
         u8    byte;
         eigth_bits part;
     }BITSET8;

typedef s

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值