如何释放一组结构

时间:2015-10-15 03:27:15

标签: c arrays free

我有一个结构complex和一个结构complex_set(一组复数),我有“构造函数”和“析构函数”函数alloc_setfree_set

我的问题是,我在free_set的for循环的第二次迭代中收到以下错误:

malloc: *** error for object 0x1001054f0: pointer being freed was not allocated

取消初始化complex_set的正确方法是什么?我想知道*points的{​​{1}}属性是否只需要通过在第一个点上调用complex_set来释放(然后它将释放其余的)或者分别释放每个元素?或者我在初始化时已经做错了什么?

以下是代码:

free

2 个答案:

答案 0 :(得分:4)

malloc()你只为set->points做了一次free(),所以你应该只做一次 Thread myThread = new Thread(new Runnable() { @Override public void run() { // Perform your loading here // Once the loading is complete, notify the main thread } }); myThread.start();

你试图释放每一点。

答案 1 :(得分:1)

这很简单:      free(set->points);