typedef struct Contact {
char name[32];
char phone[16];
char email[64];
struct Contact *prev, *next;
} Contact;
fread 讀取 contacts.dat 重建鏈表。fwrite 寫入文件。contact.h // 結構體與接口聲明
contact.c // 鏈表核心邏輯
file_io.c // 讀寫文件
ui.c // 菜單交互(清屏、格式化輸出)
main.c // 入口,初始化、主循環、資源釋放
fgets + 去換行,防止緩衝區溢出。malloc 失敗檢查,free 後置空指針。assert 或自定義錯誤碼處理異常分支。按此框架逐模塊實現,再配合 Makefile 編譯,一個功能完整、代碼清晰的 C 語言通訊錄項目即可落地。