gpt4 book ai didi

c - 如何移动已分配给另一个结构的内存

转载 作者:行者123 更新时间:2023-11-30 15:12:28 25 4
gpt4 key购买 nike

我有以下结构:

typedef struct{
char* name;
int score;
}Student;

typedef struct{
char* name;
int score;
}TeachingAssistant;

我已经将一个字符串strdup添加到Student结构中的name变量中。

我想知道如何将 strdupname 指针变量移动到 TeachingAssistant 结构,这样我就没有再次到strdup

最佳答案

TeachingAssistant 结构中填充 name 时,您可能仍想使用 strdup。如果您不这样做,并且只是复制指针,那么如果您释放一个结构中的指针,则另一个结构将变得无效。否则,您必须实现方案来跟踪指针引用。

最好在需要的地方strdup字符串,并在不再需要时free为每个副本释放它。

关于c - 如何移动已分配给另一个结构的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35042564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com