我卡在這裏。 你能幫我嗎? 我似乎無法實現此功能「freeThis」。 我想釋放鏈接列表中的節點。清除鏈接結構中的每個節點
結構
struct node {
unsigned x;
double y;
struct node *next;
};
typedef struct node Nodes, *This;
宣言的功能
void freeThis(This *);
功能
void freeThis(This *head)
{
This * tmp;
while (head != NULL)
{
tmp = head;
*head = *head->next; /*error is here I think */
free(tmp);
}
}
UPDATE的執行!
當聲明如下
void freeNodes(Nodes *);
這樣
void freeNodes(Nodes *a)
{
free(a);
printf(「sucess」);
}
實現我會怎麼使用這個功能
的功能?
是否這樣?
freeNodes(*tmp);
簡答:不要typedef。 typedef僅用於混淆你。(直到你知道更好) – wildplasser 2014-08-30 23:27:34