如何用零初始化结构的数组字段

德瓦玛利亚·哈兹拉(Devamalya Hazra)

我有以下结构

typedef struct mainstruct {
    uint32_t        var1;
    field_struct    var2[2];
    uint32_t        var3;
} main_struct;

其中field_struct是:

typedef struct fieldstruct {
    uint8_t     var11[8];
    uint32_t    var22; 
    uint32_t    var33; 
    uint8_t     var44[16];
    uint8_t     var55[16];
    uint8_t     var66[16];
} field_struct;

如何将main_struct中的所有field_struct字段初始化为全零?另外,var1和var2需要初始化为特定值。

伦丁

如果您部分初始化该结构,则未显式初始化的其余成员将设置为零。因此,只需初始化那些需要特定值的成员就足够了:

main_struct ms = 
{
  .var1 = something,
  .var2 = { something_else },
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章