亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

程序寫法一哪里有問題? 寫法二是不是就可以釋放所有內存了?

程序寫法一哪里有問題? 寫法二是不是就可以釋放所有內存了?

慕妹3146593 2022-08-03 19:15:55
寫法一:int Empty(List *L)//判空{return L->size=0;}void Clear(List* L)//清表{while(!Empty(L))Pop_front(L);L->size=0;}void Free(List* L)//撤銷所有節點空間{Clear(L);free(L->head);free(L->tail);}#include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<math.h>typedef int Type;struct Nodestruct Node* next;Type data;struct Node* prev;};typedef struct Node Node;typedef struct{Node* head;int size;Node* tail;}List;int main(){List L;Init(&L);//中間還有對鏈表的一系列操作如前插,前刪等Free(&L);return 0;}寫法二:#include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<math.h>typedef int Type;struct Node{struct Node* next;Type data;struct Node* prev;};typedef struct Node Node;typedef struct{Node* head;int size;Node* tail;}List;int main(){List L;Init(&L);//中間還有對鏈表的一系列操作如前插,前刪等free(L.tail);free(L.head);L.head=NULL;L.tail=NULL;L.size=0;return 0;}
查看完整描述

1 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

寫法一主函數少了clear調用,寫法2好像不能全部釋放內存吧,L你最后只是設置為空,但沒有delete掉。
兩個寫法區別就是一個是在主函數中調用函數,另一個是直接在主函數里面進行操作,對于你這小問題兩者都行,但大一點問題,比如學生信息管理系統,第一種方法比較好。

查看完整回答
反對 回復 2022-08-08
  • 1 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號