如何只使用结构中的几个struct成员在c中创建一个新的压缩结构?

时间:2016-07-07 18:22:34

标签: c struct

我正在尝试解码从Matlab收到的一些数据,我需要一个像这样的结构:

struct __attribute__((__packed__)) struct1{
    int a;
    int b;
    int c;
}

struct __attribute__((__packed__)) struct2{
    int a
}

struct __attribute__((__packed__)) mystruct{
    int struct1.a;
    int struct1.b;
    int struct2.a;
    int struct1.c;
}

获取这个打包结构的最佳方法是什么,以便我可以从Matlab解码数据?我不认为C会让我在没有struct1和struct2对象的情况下创建mystruct。

1 个答案:

答案 0 :(得分:0)

您打算使用的结构不必定义其他结构。只需使用您需要的类型定义所需的字段:

struct __attribute__((__packed__)) mystruct{
    int struct1_a;
    int struct1_b;
    int struct2_a;
    int struct1_c;
}