1
我正在學習C並習慣指針。我想知道一個簡單的鏈表結構,這是刪除列表的正確方法嗎?我被告知你必須手動處理所有事情(我更像是一個Java人,但試圖轉換)。對此有什麼建議或建設性的批評?提前致謝。這是刪除C中鏈接列表的正確方法嗎?
/* assume a struct with: int data; node *next;
* and a global variable node *root; */
void delete_list() {
if(root==NULL)return;
node *temp = root;
while(root!=NULL) {
temp=root;
root=root->next;
free(temp);
}
}
你有什麼看起來不錯。你不需要在循環之外初始的'temp = root',因爲你在再次分配之前沒有檢查'temp',但是當然這不會破壞任何東西。 – mah