如何使用列舉 (Enumeration)
列舉 (enum 或 enumeration) 是另一種複合型別,主要是用在宣告僅有少數值的型別,像是一星期內的日期 (day of week) 或是一年內的月份等。透過列舉,我們可以在程式中定義數個獨
Aug 26, 2018 如何撰寫函式 (Function)
在先前的文章中,絕大部分的程式的程式碼全都寫在主函式裡,在規模短小的程式這樣子做並沒有什麼不好,但隨著程式規模成長,這種模式就漸漸行不通了。
Aug 28, 2018 如何使用巨集 (macro) 或前置處理器 (Preprocessor)
前言 前置處理器是在 C 或 C++ 中所使用的巨集 (macro) 語言。嚴格說來,前置處理器的語法不是 C 語言,而是一個和 C 語言共生的小型語言。在本文中,我們介紹數種常
Sep 3, 2018 如何撰寫 C 函式庫 (Library)
前言 C 語言對於模組 (module) 的概念相對簡單,C 模組是由頭文件 (header) 和二進位檔案 (.a, .so, .dll 等) 所組成。C 模組不需要提供原始碼,只要提供二進位檔即可使用:近年來
Sep 16, 2018 如何實作類別 (class) 和物件 (object)
前言 真正的物件 (object),要有狀態 (state) 和行為 (behavior) 間的連動。狀態以資料 (data) 的形式儲存在物件的屬性 (field) 上,行為則是透過函式 (function) 來實作。和物件連動的函
Sep 24, 2018 如何實作封裝 (Encapsulation)
物件導向程式中,若物件有進行封裝 (encapsulation),除了透過公閍介面外,我們無法更動該物件內部的狀態;在程式設計中,就是要透過該
Sep 30, 2018 如何實作組合 (composition) 和繼承 (inheritance)
在物件導向程式中,類別繼承 (inheritance) 的意圖有二:(1) 重用程式碼 (2) 子類型 (subtyping);前者用於減少重覆撰碼,後者則是實踐多型 (polymorphism) 的手法。在 C++
Oct 7, 2018 多型 (Polymorphism),使用函式指標
在物件導向設計中,多型 (polymorphism) 是將同一個界面套用在不用的類別上。有以下數種實踐方式: Ad hoc polymorphism:在許多程式中使用函式重載 (function overloading) 來實
Oct 11, 2018 多型 (Polymorphism),使用聯合 (Union)
由於 C 不直接支援多型,我們要用一些手法來模擬。在上一篇文章中,我們使用函式指標,在本文中,我們使用聯合 (union) 來模擬多型。 注意:本文的 C 程式碼是合
Oct 21, 2018 使用 void 指標撰寫泛型程式
撰寫 C 程式時,我們可以用 void 指標來模擬泛型;不過,這樣寫雖然有泛型的效果,但失去了型別安全;因此,請謹慎使用。
Dec 11, 2018