次の定義を使用して、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 をコンパイラとして使用しています。