union 体可以在声明中初始化吗?

标签 c initialization declaration unions

例如,假设我们有一个 union

typedef union {
unsigned long U32;
float f;
}U_U32_F;

声明这种 union 类型的变量时,有没有办法设置初始值?

U_U32_F u = 0xffffffff;   // Does not work...is there a correct syntax for this?

最佳答案

使用初始化列表:

U_U32_F u = { 0xffffffff };

您可以通过以下方式设置第一个成员之外的其他成员

U_U32_F u = { .f = 42.0 };

关于 union 体可以在声明中初始化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53344974/

相关文章:

c++ - 在 C++ 中静态初始化匿名 union

ios - 如何初始化此Swift枚举-甚至应该使用它?

c - c 如何让函数声明具有任意参数类型?

Java数组类型声明

c - 如何为结构本身及其成员分配内存

c - GTK非标准输入

c - The C Programming Language(Second Edition) Exercise 1-1 4's Histogram' s Function中++cc[c]的作用是什么?

c - 为什么 fwrite 为某些 double 写入 9 个字节?

c++ - 错误 : no matching function for call to . .. 在返回语句

Java循环对象声明最佳实践