gpt4 book ai didi

C 在 Union 中释放一个字符串

转载 作者:行者123 更新时间:2023-12-04 15:31:58 25 4
gpt4 key购买 nike

假设我有一个联盟


typedef union Union{
int firstField;
char * secondField;
}Union;

然后我在堆上分配这个 union 并在堆上分配 secondField。如何释放 secondField?

最佳答案

只是以显而易见的方式:

Union *up;
up = malloc(sizeof(Union));
up->secondField = malloc(n);
// ...
free(up->secondField);
free(up);

当然,你不能在up->secondField的赋值和free之间赋值给up->firstField。因此,您必须设计代码以确保不会发生这种情况。

关于C 在 Union 中释放一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61089088/

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