生存技能學習心法
把 C 語言當作一門「外語」來學:
- 多看(輸入):閱讀經典教材、《C 專家程式設計》、開源專案原始碼(Linux 核心、Redis、SQLite)、優秀開源庫。看懂「為什麼這樣寫」、「邊界怎麼處理」。
- 多練(輸出):沒有捷徑,只有鍵盤敲擊聲。 每個知識點寫 3~5 個變體程式,刻意練習指標、動態記憶體、檔案 I/O、遞迴。LeetCode 每日一題、重寫標準庫函式(
strcpy, qsort, malloc 簡易版)。
- 多思考(內化):遇到 Bug 先別急著問人,用除錯器單步、印中間值、畫記憶體圖。問自己:「編譯器怎麼看這行碼?」、「記憶體佈局長什麼樣?」、「未定義行為會發生什麼?」。
具體執行清單
- 建立「錯誤日誌」:記錄每次 Bug 現象、原因、修正、相關標準條款。
- 每週重構一個舊專案:套用新學的技巧(const 正確性、錯誤碼處理、單元測試)。
- 參與 Code Review:GitHub 提 PR、審閱他人 PR,學習風格、命名、架構。
- 考取證照/比賽:軟測/軟設計師、ACM/ICPC、全國大學生程式設計競賽,強迫自己系統化複習。
心態建設
路途遙遠、前途渺茫是常態。每個大師都曾被段錯誤折磨、被指標繞暈。
堅持「每天進步 1%」,一年後你會感謝今天還在敲鍵盤的自己。