我正在尝试使用以下定义在 c 中创建一个链表:
/**
* The definition of node and linked list.
*/
typedef struct _node{
void * val;
struct _node * next;
} node;
typedef struct{
node * head;
} linkedlist;
而且我有一个完全删除它的功能(不是针对单个节点,而是针对整个列表):
void clean_list(linkedlist * ll){
node * temp;
curr = ll->head;
while(ll->curr->next != NULL){
temp = curr;
curr = curr->next;
free(temp->val);
free(temp);
}
}
我的问题是:
- 它有效吗?
- 我怎么知道它是否真的有效?
我正在使用 MacBook Pro 并使用 gcc 作为编译器。