gpt4 book ai didi

c - 如何在 C 中将 union 值写入数组元素?

转载 作者:行者123 更新时间:2023-11-30 17:12:24 24 4
gpt4 key购买 nike

我有一个这样的 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com