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

标签 c linux eclipse

这里我有一个包含 union 数组的结构

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

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

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

这给出了一些错误。请提供解决方案。

提前致谢。

最佳答案

该代码会发出有关缺少大括号的警告,但不会执行任何意外操作。

如果您想修复警告(您应该修复),请使用三层嵌套的大括号:

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

外层大括号用于结构,下一层大括号用于结构成员数组 property,最内层大括号用于 union 。

关于c - 如何初始化包含 union 数组的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30390554/

相关文章:

在 C 中使用 pow 时,CMake 能否检测到我是否需要链接到 libm?

c - 使用特定参数从 C 中的文件填充数据结构

linux - 在 Linux CentOS 6.2 上安装 R 时出现问题

linux - 如何在 Linux 上的 SDCARD 中写入超过 2000,000 个文件

c++ - valgrind + gdb 的 Eclipse CDT 设置

java - Android 应用程序中的 ArrayIndexOutOfBoundsException

c - 多平台支持、预处理程序或与各个库的链接

linux - 使用 A key 通过 B 框从 A ssh 到 C,而不将其存储在 B 机器上

java - 在 Eclipse 中运行没有源 .java 文件的项目

c++ - 通过宏嵌入代码