【发布时间】:2017-05-16 03:55:02
【问题描述】:
这是节点结构:
typedef struct addressBookNode
{
int id;
char name[NAME_LENGTH];
AddressBookArray * array;
struct addressBookNode * previousNode;
struct addressBookNode * nextNode;
} AddressBookNode;
我的问题是,当我释放节点时,节点不会返回 NULL,而是 id 返回随机内存值,所以有没有办法将 free(node) 用于 AddressBookNode * 节点,这将使节点为 NULL?
【问题讨论】:
-
在 C 中最简单的方法是创建一个函数
Free(AddressBookNode *),该函数将调用free,然后将值设置为null。 -
有没有办法是的。
free(node); node = NULL;
标签: c memory-management struct