C 列表的克隆是什么?如何克隆?

C 列表的克隆是什么?如何克隆?,c,list,clone,C,List,Clone,让我们说我们有一个清单。我们怎么能克隆它?我已经创建了一个列表,其中我合并了两个列表,即列表1和列表2。如何克隆我的组合列表?我需要用C语言编程来实现这一点获取列表的大小。然后创建另一个该大小的缓冲区,并使用memcpy将内存从列表位置复制到缓冲区 @Magn3s1um和Jaspreet Deol 这取决于您的实现。使用memcpy,您可以复制按顺序分配的内存(比如数组)。如果你的列表是一个带有指针等的结构,你必须逐点进行 //编辑 克隆意味着您必须创建与第一个相同的第二个对象 EXAMPLE

让我们说我们有一个清单。我们怎么能克隆它?我已经创建了一个列表,其中我合并了两个列表,即列表1和列表2。如何克隆我的组合列表?我需要用C语言编程来实现这一点

获取列表的大小。然后创建另一个该大小的缓冲区,并使用memcpy将内存从列表位置复制到缓冲区

@Magn3s1um和Jaspreet Deol 这取决于您的实现。使用memcpy,您可以复制按顺序分配的内存(比如数组)。如果你的列表是一个带有指针等的结构,你必须逐点进行

//编辑

克隆意味着您必须创建与第一个相同的第二个对象

EXAMPLE
list : apples>oranges>melons
list_clone : apples>oranges>melons

到目前为止你的努力是什么?你所说的
列表
是什么意思?您的结构是什么样的?如果@Magn3s1Unit将其作为注释保留在其他答案中,则说明得更好。当然,只有当它是数组而不是列表时,它才有效。另外一个问题是,提问的人是否能区分这两个问题。如果是一个列表,那就行了。这取决于您定义为复制的内容和定义为列表的内容。如果它是一个链表,并且您想要复制数据,那么只需将memcopy嵌套在指针遍历中。如果您不需要这些数据,您可以只使用memcpy指针。我不明白如果它是一个列表,它怎么会不工作……memcpy复制字节,而不是列表的成员。如果“列表”是指内存中连续的字节数组,则是。对于所有其他情况,都不是。列表的成员是内存中的字节,不是吗?它们甚至不必是连续的:如果有指针,只需复制每个指针指向的内存即可。那么,为什么这不适用于所有情况呢?请阅读您的原始答案,然后阅读我的评论,然后思考3秒钟以上,您就会明白我的意思。