C 語言極簡日誌輸出巨集:支援等級過濾與時間戳
C 語言極簡日誌輸出巨集:支援等級過濾與時間戳 設計目標 單一 .h 檔即可使用,無需額外 .c 支援 5 級日誌:DBG、INFO、WRN、ERR、OUT
Socket 程式設計核心:位元組序轉換與大小端判斷
Socket 程式設計核心:位元組序轉換與大小端判斷 字串 vs 多位元組資料 字串在記憶體中按字元順序儲存,CPU 讀取順序一致,無位元組序問題。但 sho
資料結構教材實作:擴展線性鏈表歸並演算法
資料結構教材實作:擴展線性鏈表歸並演算法 背景 本範例在教材基礎單鏈表之上,引入尾指標與長度欄位,構成「擴展線性鏈表」,使尾部插入、長度查詢均為 O(1),歸
C 語言實作順序棧:動態擴容與完整操作介面
C 語言實作順序棧:動態擴容與完整操作介面 資料結構定義 #define STACK_INIT_SIZE 10 #define STACKINCREASE 1
資料結構教材實作:雙向循環鏈表完整原始碼
資料結構教材實作:雙向循環鏈表完整原始碼 結構特性 雙向循環鏈表將頭尾相連,每個節點同時擁有 prior(前驅)與 next(後繼)指標,支援雙向遍歷,解決了
資料結構教材實作:靜態鏈表(游標實作鏈表)
資料結構教材實作:靜態鏈表(游標實作鏈表) 核心概念 靜態鏈表以陣列模擬動態記憶體管理,用整數游標取代指標,在不支援指標的語言(如早期 BASIC、Fortr
資料結構教材實作:單鏈表歸並(鏈式儲存)
資料結構教材實作:單鏈表歸並(鏈式儲存) 核心優勢 鏈式儲存歸並無需移動元素,僅需修改指標指向,避免了順序表歸並時大量元素後移的開銷,時間複雜度仍為 O(m+
資料結構教材實作:順序表求並集 A = A ∪ B
資料結構教材實作:順序表求並集 A = A ∪ B 算法思路 找到順序表 A 的尾部(當前長度處)。 遍歷順序表 B 的每個元素。 若 B 中元素不在 A
資料結構教材實作:順序表(動態陣列)完整原始碼解析
資料結構教材實作:順序表(動態陣列)完整原始碼解析 概述 順序表是線性表最基礎的儲存結構,本質為可變長度陣列。教材採用 malloc 分配初始容量,滿時以 r
《資料結構》嚴蔚敏版 第 2 章線性表習題完整解析
《資料結構》嚴蔚敏版 第 2 章線性表習題完整解析 基礎知識題精選 2.1 概念辨析:頭指標、頭節點、首元節點 頭指標:指向鏈表第一個節點的指標變數,若帶頭
從零打造 C 語言 JSON 解析引擎:遞歸下降分析實作詳解
從零打造 C 語言 JSON 解析引擎:遞歸下降分析實作詳解 前言與設計動機 作者先前曾為統計實驗專案撰寫輕量 JSON 解析器,後深入研究知名開源專案 cJ
Linux Socket 網路程式設計入門:Client/Server 基礎範例
Linux Socket 網路程式設計入門:Client/Server 基礎範例 本文摘自《Beginning Linux Programming 第 4 版》
如何判斷主機位元組序:大端與小端的 C 語言實作技巧
如何判斷主機位元組序:大端與小端的 C 語言實作技巧 所謂「大端」是指高位元組存放在低記憶體位址,而「小端」則相反,低位元組佔據低位址。以十六進位值 0x123
Linux 靜態庫鏈接順序導致的符號衝突問題分析
問題現象 在 Linux 下使用 GCC 鏈接兩個靜態庫 liblib1.a 和 liblib2.a 時,若兩個庫中均定義了同名函數 fun(),鏈接順序不同會
數據結構第三章:棧與隊列習題解析指南(嚴蔚敏版)
章節概覽 本文整理了《數據結構》(嚴蔚敏、吳偉民版)第三章「棧和隊列」配套習題集的完整解析。內容分為基礎知識題與算法設計題,涵蓋棧的基本操作、隊列與雙端隊列特性
C 語言 JSON 庫實戰 (二):構造輸出引擎完整實現 (遞歸下降生成)
JSON 生成器:遞歸下降構造字符串 繼解析器之後,本文實現 JSON 的**構造/輸出**引擎:將內存中的 cjson_t 樹結構序列化為標準 JSON 字符