【发布时间】:2011-01-13 13:57:55
【问题描述】:
我有两个结构
struct SimpleXY
{
double x;
double y;
};
struct SimpleXyLink
{
int num_xy;
SimpleXY *simpleXyList;
};
我想知道释放SimplyXyLink 所持有的内存的正确方法是什么?我目前正在使用
void Free(SimpleXyLink *myList)
{
free(myList->simpleXyList);
}
但我认为这是错误的,因为它不会释放 simpleXyList 元素内的内存。
【问题讨论】:
-
你标记了这个
c++,但使用的是free(可能是malloc)你是不是要标记这个c? -
@KitsuneTYMG,我认为任何一个都可以。但无论如何,我已经将标签更改为
c -
正如您从答案中看到的那样,如果您将其标记为
c++并使用free,人们将会对您想要的东西感到困惑。虽然free在 c++ 编译器中工作正常,但在 c++ 中分配的方式是new