C释放并集中的字符串



所以说我有一个Union


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

我在堆上分配这个并集,在堆上配置secondField。如何释放secondField?

显而易见:

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

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

相关内容

  • 没有找到相关文章

最新更新