原创 【C 高階】徹底理解數組與指針

0. 前言 本文將深入淺出地講述數組與指針之間的共性與關聯,適合有一定 C/C++ 功底的同學進階學習。文中的程序均在 64 位環境下運行,且程序運行的結果會以註釋的方式呈現在代碼中以便閱讀。 全文學習約需 15 分鐘。 1

原创 【C 高階】盤點標準 C 庫文件操作函數

1. C 庫 API 的特點 在標準 C 語言庫中有提供一套完整的文件操作 API,如 fopen()、fgets()、fread() 等,使用這些 API 可以對指定文件進行讀寫操作。 C 庫 API 具備以下特徵: 高兼容

原创 【造輪子】實現冒泡排序、選擇排序(C++)

1. 冒泡排序 1.1 算法原理 核心思想 多次遍歷,每次遍歷把兩相鄰數之間相比較,如果大數在前,小數在後,則交換。每次遍歷後當前遍歷區間內最大的元素會被放到區間的末尾。 算法過程 第一遍遍歷區間爲 [0, N-1],兩個

原创 【造輪子】實現 strcasecmp、strcasencmp 函數

1. strcasecmp 函數 1.1 函數簡介 strcasecmp 函數爲 C 庫函數之一,用於字符串忽略字母大小寫的比較。 原型:int strcasecmp (const char* str1, const char

原创 【C 高階】系列導航

1. 前言 C 語言可謂是現代編程語言之祖,其編程語法被很好地擴展到其衍生語言之中,爲面向對象的高級語言打好根基,時至今日仍被認爲是學習編程最佳的入門語言。 《C 高階》系列將專注於 C 語言的高階用法,這些奇技淫巧在大型項目如

原创 【造輪子】實現 strtok 函數

1. 函數簡介 strtok 函數爲 C 庫函數之一,用於分割字符串。 原型:char* strtok (char* str, const char* delim); 所屬頭文件:<string.h> 功能:使用 delim

原创 【從 C 向 C++ 進階】- 類 - 19. 虛函數

1. 函數重寫 對於子類中與父類成員函數同名的成員函數,稱其爲子類的重寫函數。函數重寫一般發生在父類的成員函數不滿足需求的情況下。 同時,父子類是相互兼容的: 子類對象可以直接賦值給父類對象。 子類對象可以直接初始化父類對象。

原创 【C 高階】函數宏的三種封裝方式

1. 函數宏介紹 函數宏,即包含多條語句的宏定義,其通常爲某一被頻繁調用的功能的語句封裝,且不想通過函數方式封裝來降低額外的彈棧壓棧開銷。 函數宏本質上爲宏,可以直接進行定義,例如: #define INT_SWAP(a,b) \

原创 【從 C 向 C++ 進階】- 類 - 26. 模板特化

1. 多參數類模版 類模板支持多個泛型參數,使用方式與函數模板基本一致。 實驗: template <typename T1, typename T2> class Operator { public: T2 add(

原创 【C 高階】數組和指針筆試題精選

1. 前言 在 C/C++ 相關的崗位筆試中,數組和指針相關的知識點爲高頻考點,能夠很好考察應聘者的 C/C++ 功底。因此,本文精選了數組與指針相關的筆試題,並解析解題思路,希望能夠加強讀者對數組和指針的理解。 在閱讀本文前,強

原创 【C 高階】枚舉

1. 枚舉簡介 枚舉是 C 中的一種基本數據類型,常作爲數據標識符的集合使用,能夠明顯地提高程序的可讀性與安全性。 2. 枚舉的定義 枚舉的定義格式爲: enum 枚舉名  { 枚舉成員 1, 枚舉成員 2,

原创 【C 高階】共用體(聯合體)

1. 共用體簡介 共用體又稱聯合體,爲一種 C 語言的複合數據類型。共用體與結構體類似的是,同爲多種數據類型的集合;不同的是,共用體在同一時刻只能表現出其中一種數據類型,而結構體本身包含着多種數據類型。 如何理解“共用體在同一時刻

原创 【從 C 向 C++ 進階】- 類 - 18. 類的繼承

1. 類的繼承 類之間可以存在繼承關係,又稱父子關係,父類又稱爲基類,子類又稱爲派生類。父子類之間有以下特點: 子類擁有父類的所有屬性和行爲。 子類對象可以當父類對象使用,可增加父類沒有的屬性和方法。 子類對象可以直接初始化爲

原创 【從 C 向 C++ 進階】- 類 - 22. 多繼承

1. 多重繼承 C++ 支持多重繼承。所謂的多重繼承指的是子類同時繼承多個父類,此時子類擁有所有父類的所有成員。 繼承方式如下: class Derived : public Baes_A, public Baes_B {

原创 【C 高階】可變參數

1. 簡介 可否想過 C 語言中最常見常用的 printf() 函數是如何做到接收任意類型、任意數量的參數的呢? 實際上,printf() 中通過可變參數特性來接收任意類型、任意數量的參數。可變參數通過佔位 ... 顯式指示,例如