【发布时间】:2014-03-29 01:49:19
【问题描述】:
现在我从这篇关于assigning one struct to another 的帖子中知道,我可以将一个结构变量分配给另一个相同类型的变量,并且会发生浅副本。
struct Test t1;
struct Test t2;
t2 = t1;
但是如果我这样做呢?
struct Test *t1;
struct Test *t2;
t1 = malloc(sizeof(struct Test));
t2 = malloc(sizeof(struct Test));
//assign t1 and t2's fields some data
*t2 = *t1;
在这种情况下会发生同样的 memcpy 吗?
【问题讨论】:
-
指针,是的。它指向,不(正如所写,
t1无论如何都是不确定的,所以它的 UB 甚至可以评估它)。 -
哦,是的,我就是这个意思。我现在将编辑问题。