c – 如何使用32位int和4个8位char类型创建一个union,每个char类型都引用32位int的差分片段?

前端之家收集整理的这篇文章主要介绍了c – 如何使用32位int和4个8位char类型创建一个union,每个char类型都引用32位int的差分片段?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个联合,其中最大的成员是32位整数.这将主要写入.然后有四个8位变量,可能是char类型,每个变量都会引用32位整数类型的不同部分:
union {
   int32 myint;
   char char1 [7:0];
   char char2 [15:8];
   char char3 [23:16];
   char char4 [31:24];
   }

但我不知道如何在C中这样做.

解决方法

我不明白你是否想要一个32位内插器和4个8位变量或一个32位内插器分成4个8位变量,但无论如何你应该尝试这样的事情:
union yourUnion {
    int32 yourInt;
    struct {
        int32 var1 : 8;
        int32 var2 : 8;
        int32 var3 : 8;
        int32 var4 : 8;
    } yourSplitInterger;
};

希望能帮助到你.

猜你在找的C&C++相关文章