C 語言函數大全:分類、參數傳遞、遞歸、變數作用域與儲存類別
函數分類 維度類別 來源庫函數 / 使用者自訂函數 回傳值有回傳值 / 無回傳值 參數無參 / 有參 庫函數功能字元分類、轉換、目錄路徑、診斷、圖形、I/O、
C 語言指標完全掌握:從概念到進階組合宣告解讀
指標本質 記憶體位元組編址 → 地址即指標 指標變數:專門儲存地址的變數 型態決定解讀方式:int* 指向整數,char* 指向字元 宣告與初始化 int
C 語言核心基礎速查:資料表示、類型、指標與記憶體模型
一、有號整數的三碼表示(僅針對負數) 原碼:符號位 + 絕對值二進制 反碼:符號位不變,其餘位取反 補碼:反碼 + 1 —— 計算機實際儲存與運算使用補碼
C 語言檔案操作完整指南:開關、讀寫、二進制與加密實戰
一、檔案開啟與關閉 fopen - 開啟檔案 FILE *fopen(const char *filename, const char *mode); 回傳 F
C 語言資料壓縮實作:簡單字串壓縮與哈夫曼編碼
一、簡單字串壓縮(RLE 變體) 壓縮規則 僅壓縮連續重複字符,如 abcbc 無連續重複則保持原樣。 壓縮格式為 「次數+字符」,次數為 1 時省略。例:x
C 語言代碼評審實戰:七大常見問題與改進指南
前言:為什麼代碼評審不可或缺? 在實際軟體開發專案中,代碼評審是保障代碼品質的關鍵環節。它不僅能及早發現程式邏輯錯誤、潛在 Bug,還能統一團隊編碼風格、促進知
C 語言實作多項式加減運算:鏈表儲存與單遍歷合併演算法
多項式運算是經典資料結構習題。本文採用單向鏈表儲存非零項 (係數、指數),設計單次遍歷合併演算法,時間複雜度 O(n+m),空間複雜度 O(1) 額外空間 (就
C 語言實作 Select 模型 TCP 伺服器與用戶端:Windows 平台完整範例
Select 模型是 Windows 平台早期高併發網路程式的經典方案,雖然擴展性受限於 FD_SETSIZE (預設 64),但邏輯清晰、無需執行緒同步,適合
Windows Socket 網路程式設計:C 語言實作檔案下載伺服器與用戶端
基於 Winsock 2 的 TCP 檔案傳輸範例,支援目錄列舉、檔案下載、進度顯示與多執行緒併發。程式碼針對 VC++ 6.0 撰寫,現代 Visual St
C 語言函數深度解析:從參數傳遞、遞迴到儲存類別完整指南
函數是 C 語言模組化程式設計的基石。本文系統整理函數定義、呼叫慣例、參數機制、回傳值、遞迴、作用域與儲存類別,並附上實戰範例與常見誤區。 函數定義與宣告 [
C 語言位元欄位定義完全指南:記憶體佈局、對齊陷阱與最佳實務
位元欄位是 C 語言中直接操作硬體暫存器、封裝網路封包的利器,但其記憶體佈局行為常讓開發者掉入陷阱。本文深入解析位元欄位的配置規則、無名欄位用法,並提供跨平台可
Linux 環境下以 C 語言實作貪吃蛇遊戲:Framebuffer 與終端控制完整教學
在 Linux 系統上開發圖形化遊戲,不一定非得仰賴 X Window 或 Wayland 等視窗系統。本文將示範如何僅使用 Framebuffer(幀緩衝)
零基礎搭建 C 語言開發環境:Code::Blocks + MinGW 圖文全流程指南
為什麼選 Code::Blocks? 免費開源、跨平臺(Windows/Linux/macOS)。 內建 MinGW(GCC Windows 移植),安裝即用
C語言進階核心:雙重指針、多文件編程、文件操作全解析
一、雙重指針:修改指針本身的鑰匙 單級指針傳遞的是地址副本,函數內修改指針指向不影響外部。若需在函數內修改指針變數本身(如分配內存並回傳地址),必須傳遞指針的指
C語言經典排序與查找算法實戰:選擇、插入、二分查找完整實現
排序算法篇 1. 選擇排序 核心思想:每輪從無序區選最小元素,與無序區首元素交換。 void selection_sort(int arr[], int n)
Linux 下 C 語言 BMP 圖片操作編程:文件格式解析、像素級讀寫、旋轉變換實戰
BMP 文件格式核心結構 BMP(Bitmap)是 Windows 標準圖像格式,結構簡單、無壓縮,適合教學與嵌入式裸機顯示。 文件頭(14 字節) type
C語言基礎知識體系總覽:從 Hello World 到指針、結構體、文件操作的完整知識圖譜
知識體系導航圖 C語言核心 ├─ 程序結構:main、預處理、編譯鏈接 ├─ 類型系統:基本類型、派生類型(數組/指針/結構體/聯合/枚舉) ├─ 內存模型:五
C語言雙層鏈表實現:節點嵌套節點的動態數據結構設計與完整代碼
什麼是雙層鏈表? 雙層鏈表:外層鏈表的每個節點,其數據域不再是基礎類型,而是另一條完整的內層鏈表頭指針。形成「鏈表的鏈表」結構,適用於二維動態數據(如矩陣、圖鄰