Skip to content

week16.md

Lin610313 edited this page Jun 1, 2022 · 1 revision

C 語言的設計理念與技術特徵

由於 C 語言是 Dennis Richie 與 UNIX 發明者 Ken Thompson 合作一起建構出來的,想了解 C 語言的歷史,就得連 UNIX 一起看。

C 語言的優勢和缺點是綁在一起的,其特性如下:

速度快,很快,非常快。(優點:快,缺點:錯誤處理很差)
沒有垃圾蒐集機制 (Garbage Collection),分配記憶體得自行回收。(優點:快,缺點:麻煩又容易出錯)
有指標 (用來儲存記憶體位址),可透過指標存取任何記憶體。(優點:低階存取,缺點:指標會亂指)
編譯式 (非解譯式) (優點:執行快,缺點:需要花時間編譯)
由於上述特性,C 語言適合《底層運作》,但是卻不太適合寫《高層應用》,舉例而言:

C 語言很適合寫《作業系統、虛擬機、編譯器、組譯器》等等系統軟體。
作業系統通常用 C 語言寫出來,所以 C 語言進行系統呼叫特別親切。
C 語言用在寫高層應用,像是《手機 APP/網頁網站/視窗程式》等領域,語法會較繁瑣且容易出錯。
所以,學習 C 語言,通常就是為了寫《底層的系統程式》,而非《高層的應用程式》。
Clone this wiki locally