免费检查结构是否免费

时间:2014-01-24 04:42:20

标签: c data-structures struct linked-list free

#include <stdio.h>
typedef struct _person
{
    char name[64];
    char gender[2];
    struct _person * pNext;
    struct _person * pPartner;
} PERSON_T;

typedef struct
{
    PERSON_T * head;
    PERSON_T * tail;
    PERSON_T * current;
} LIST_T;

我有结构,然后我像这样自由

void freestruct(LIST_T *linkedList)
{
    linkedList->current = linkedList->head;
    if (linkedList != NULL) /* if list has been initialized  */
        {
        PERSON_T * pThisItem = linkedList->head;
        while (pThisItem != NULL)
            {
            PERSON_T * pNext = pThisItem->pNext;
            free(pThisItem);
            pThisItem = pNext;
            }
        free(linkedList);
        }
}

我怎么能检查它的免费或不是因为我不知道我正确与否的功能。

抱歉我的英文

谢谢。

1 个答案:

答案 0 :(得分:1)

要检查地址是否空闲,只需检查地址是否等于NULL。

linkedList == NULL

因为你使用free(linkedList),所以应该没问题。