「紙上得來終覺淺,絕知此事要躬行。」學 C 的唯一捷徑是——大量編寫、編譯、調試、重構代碼。建議每天保證 2+ 小時純敲代碼時間,而非看視頻/書。
| 階段 | 推薦書目 | 核心價值 |
|---|---|---|
| 入門 | 《C Primer Plus》第 6 版 | 語法全面、習題豐富、適合自學 |
| 進階 | 《C 專家編程》《C 陷阱與缺陷》 | 深挖鏈接、內存、未定義行為 |
| 系統級 | 《計算機系統要素》(CSAPP) | 從硬件視角理解 C 運行機制 |
⚠️ 切忌買書如山倒,一本吃透勝過十本泛讀。
# 編譯器旗標
CFLAGS="-std=c11 -Wall -Wextra -Wpedantic -Werror -O2 -g -fsanitize=address,undefined"
# 調試器
gdb -tui ./a.out
# 靜態分析
cppcheck --enable=all --std=c11 .
# 格式化
clang-format -i *.c *.h
1. 指針不難,難的是「誰負責釋放內存」的所有權思維。
2. 段錯(Segmentation Fault)是禮物,它精確告訴你邏輯哪裡錯了。
3. 不要在會寫for迴圈時就自以為「會 C 了」。