gpt4 book ai didi

c - 如何将一个结构复制到作为另一结构元素的数组?

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

我有两个结构:1)ABC 2)CDE

typedef struct
{
unsigned char b[8];
unsigned char a[12];
unsigned char c;
} ABC;

ABC sABC;

typedef struct
{
unsigned char D;
unsigned char E[22];
} CDE;

我想复制E[22]中的结构ABC,它是CDE结构的成员。

如果有人知道这一点,我该怎么做?

最佳答案

你可以使用memcpy来做到这一点。例如,这样的事情应该有效:

memcpy(&some_CDE_variable.E, &sABC, 22);

但请注意,sizeof(ABC) 可能不是 22,并且如果编译器决定在将该结构打包到内存中时添加一些填充,则内部元素的布局可能不会按照您期望的方式进行。如果您使用的是 gcc,您可能需要检查 packed 属性。

关于c - 如何将一个结构复制到作为另一结构元素的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24670057/

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