【发布时间】:2012-04-01 14:00:00
【问题描述】:
好的,所以我有一个 structs of structs of stru... 有没有办法将包含所有数据的整个结构复制到一个新结构中,而不必分配其他一系列结构?
【问题讨论】:
标签: c memory-management struct
好的,所以我有一个 structs of structs of stru... 有没有办法将包含所有数据的整个结构复制到一个新结构中,而不必分配其他一系列结构?
【问题讨论】:
标签: c memory-management struct
是的,只需分配:
MyStruct a;
MyStruct b;
...
a = b;
这会执行浅拷贝;如果任何结构包含指针,那么只有指针被复制,而不是被指向的东西。如果您需要深拷贝,则必须编写自己的例程。
【讨论】:
memcpy 的字面调用,因此如果该符号未在您的环境中定义(或具有奇怪的语义),您可能会遇到麻烦。