我有一个这样的 union -
union
{
int a : 1 ;
int b : 1 ;
int c : 1 ;
} Byte1;
我正在向 union 成员写“对”或“错”。
Byte1.a = x>0;
Byte1.b = y>0;
Byte1.c = z>0;
我需要写入数组元素的 union 的全部内容
int array[8];
array[7] = Byte1;
但这会引发错误 - `从类型“union”分配给类型“int”时出现不兼容的类型
如何在 C 中将 union 分配给数组元素?
最佳答案
正如你所说
Whole content of union I need to write to an array element int array[7] = Byte1;
但是您可以定义具有多个成员的 union ,但在任何给定时间只有一个成员可以包含值。因此不可能存储整个容器。在数组中仅存储一个必需值。或者你可以这样做
array[7] = Byte1.a;
关于c - 如何在 C 中将 union 值写入数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31559319/