gpt4 book ai didi

c 如何 union 让你将数据视为一个字节数组

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

我正在阅读一些代码

我正在阅读教程,位于此处 tutorial这就是说

union lets us treat the data as either separate fields or a single byte array.

有人可以向我解释一下 union 如何让您将数据视为单字节数组吗?我对 union 的理解是,它们使您能够在同一内存位置存储不同的数据类型,但在任​​何给定时间只有一个成员可以包含值。

 union ethframe
{
struct
{
struct ethhdr header;
unsigned char data[1500];
} field;
unsigned char buffer[1514];
};

最佳答案

不知道您从哪里得到这样的想法:在任何给定时间只有一个成员可以包含一个值,但这是错误的。举个例子:

union example
{
int a;
char b[4];
};

如果你给a赋值,如果你检查b的内容,你会发现4个数组元素中的每一个都对应于b的4个字节。 inta。如果更改其中之一,就会间接更改 a 的值。

关于c 如何 union 让你将数据视为一个字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47944232/

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