如何初始化包含union数组的结构

时间:2015-05-22 07:15:35

标签: c linux eclipse

这里我的结构包含一个联合数组

typedef struct SCFDummyNode {
  union UDummyProperty {
    float cfpFVal;
    uInt32 cfpUval;
  } property[4];
} CFDummyNode;

为此,我正在以这种方式初始化为

static CFDummyNode Section11DummyData = {{5.0,200.0,63.5,1000.0}};

这是一些错误。请给我解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:4)

代码会提供有关缺少大括号的警告,但不会发生任何意外情况。

如果要修复警告(应该使用),请使用三个嵌套级别的大括号​​:

static CFDummyNode Section11DummyData = {
    {{5.0}, {200.0}, {63.5}, {1000.0}}
};

外部大括号用于结构,下一个大括号级别用于结构成员数组property,最里面的大括号用于结合。