C 語言基礎問答:什麼是 C 語言?
C 語言 是一種通用、過程式、編譯型程序設計語言,由 Dennis Ritchie 於 1972 年在貝爾實驗室為 Unix 系統開發。
核心特徵
| 特徵 | 說明 |
| 接近硬件 | 指針、位操作、內存地址直接訪問,適合系統編程 |
| 高效 | 輕量運行時、零開銷抽象、編譯器優化空間大 |
| 可移植 | 標準化 (C89/C99/C11/C17/C23)、跨平台編譯器廣泛 |
| 模塊化 | 函數、頭文件、獨立編譯單元、靜態/動態庫 |
| 豐富生態 | 作業系統、嵌入式、數據庫、編譯器、遊戲引擎核心均用 C |
經典應用領域
- 作業系統內核 (Linux、Windows NT、macOS XNU、FreeBSD)
- 嵌入式系統 (單片機、RTOS、物聯網設備)
- 高性能基礎設施 (Nginx、Redis、MySQL、PostgreSQL、Git)
- 編譯器/解釋器 (GCC、LLVM/Clang、Python CPython、Lua、V8 核心)
- 圖形/遊戲引擎 (OpenGL 驅動、Unity IL2CPP、Unreal Engine 核心)
- 網絡協議棧 (TCP/IP 實現、DPDK、eBPF)
學習建議
- 掌握指針與內存模型 (棧/堆/數據段/代碼段)
- 熟練標準庫 (`stdio` `stdlib` `string` `math` `time` `errno`)
- 理解編譯鏈接過程 (預處理→編譯→彙編→鏈接)
- 實踐調試技能 (GDB/LLDB/Visual Studio Debugger、Sanitizers、Valgrind)
- 閱讀開源項目核心代碼 學習工程實踐