【发布时间】:2013-06-17 14:16:24
【问题描述】:
假设我们有一个列表。我们如何克隆它?我创建了一个列表,其中我结合了两个列表,即 list1 和 list2。如何克隆我的组合列表?我需要在 C 编程中做到这一点
【问题讨论】:
-
到目前为止你做了哪些努力?
-
list是什么意思?你的结构是什么样的?
假设我们有一个列表。我们如何克隆它?我创建了一个列表,其中我结合了两个列表,即 list1 和 list2。如何克隆我的组合列表?我需要在 C 编程中做到这一点
【问题讨论】:
list 是什么意思?你的结构是什么样的?
获取列表的大小。然后创建另一个该大小的缓冲区,并使用 memcpy 将内存从列表位置复制到缓冲区。
【讨论】:
@Magn3s1um 和 Jaspreet Deol 这取决于您的实施。使用 memcpy,您可以复制按顺序分配的内存(比如说一个数组)。如果您的列表是带有指针等的结构,则必须逐个节点进行。
//编辑
克隆意味着您必须创建第二个与第一个相同的对象。
EXAMPLE
list : apples>oranges>melons
list_clone : apples>oranges>melons
【讨论】: