<分区>
如果我想在另一个结构中复制一个结构(在 C 中),优点和缺点是什么:
struct1 = struct2;
对比
memcpy(&struct1, &struct2, sizeof(mystruct_t));
它们是等价的吗?在性能或内存使用方面是否存在差异?
<分区>
如果我想在另一个结构中复制一个结构(在 C 中),优点和缺点是什么:
struct1 = struct2;
对比
memcpy(&struct1, &struct2, sizeof(mystruct_t));
它们是等价的吗?在性能或内存使用方面是否存在差异?
最佳答案
struct1=struct2;
符号不仅更简洁,而且更短,为编译器留下更多优化机会。 =
的语义是赋值,而memcpy
只是复制内存。这在可读性方面也存在巨大差异,尽管 memcpy
在这种情况下的作用相同。
使用=
。
关于c - 结构赋值还是 memcpy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5383318/