具有两个数据字段的结构的自由记忆

Gra*_*ton 2 c

还有一个类似的问题在这里.

我有以下结构:

struct SimpleXY
{
    double x;
    double y;

};

struct SimpleEdge
{
   SimpleXY first;
   SimpleXY second;
}

    struct SimpleEdgeList
    {
            uint num_edges;
            SimpleEdge *SimpleEdges;
    };
Run Code Online (Sandbox Code Playgroud)

什么是释放记忆的正确方法SimpleEdgeList?这是我目前的方法,但我想知道我是否应该手动释放firstsecond数据字段.

void Free(SimpleEdgeList *myList)
{

    free(myList->SimpleEdges);
}
Run Code Online (Sandbox Code Playgroud)

这是一个C结构,我正在寻找像C一样的内存释放.

tem*_*def 5

您无需手动释放字段.释放引用的内存时myList->SimpleEdgeList,调用free()将清除整个内存块,包括您提到的两个字段.由于这些字段不包含指向任何其他对象的指针,因此您无需进入它们以回收内存.