memcpy 實現完全指南:從原型推導到健壯實現、重疊處理與面試避坑
需求分析與原型確定 拷貝任意類型數據 → void* 源數據只讀 → const void* 需指定拷貝字節數 → size_t n 返回目標地址便於鏈式調用
C 語言學習筆記 (三):函數參數求值、const/static、大小端判斷、指針與數組深度解析
函數參數求值順序 C 標準**未規定**求值順序 (編譯器相關)。 int i = 2; max(i, i++); // 可能 max(2,2) 或 max(3
C 語言學習筆記 (二):類型轉換、運算符陷阱、內存管理與技巧
隱式類型轉換規則 整型提升:char、short 自動轉為 int 參與運算 浮點提升:float 自動轉為 double usual arithmetic
UNIX 網絡編程基礎知識 (一):協議數據單元、層次結構與關鍵參數
應用層協議示例 HTTP (超文本傳輸協議) SMTP (簡單郵件傳送協議) 核心概念:PDU 與 SDU 術語全稱含義 PDUProtocol Dat
C語言學習筆記(一):原碼補碼、編譯流程、類型模型、scanf陷阱與指針效率
前言 本文整理 C 語言核心基礎知識點:有符號整數編碼、編譯鏈接流程、數據類型模型(ILP32/LP64)、常數後綴、常量存儲、scanf 掃描集與返回值、指針
C語言函數完全指南:聲明定義、參數傳遞、遞歸、內聯、可變參數與最佳實踐
前言 函數是 C 語言模塊化、復用、抽象的核心機制。本文系統梳理函數聲明定義、參數傳遞語義(值傳遞本質)、遞歸與尾調用、內聯函數、可變參數(stdarg.h)、
C語言數組完全指南:聲明、初始化、多維數組、指針關系與性能優化
前言 數組是 C 語言最基礎的聚合類型,看似簡單,實則蘊含豐富的內存佈局規則、指針轉換語義、編譯器優化機會與工程陷阱。本文系統梳理數組聲明初始化、多維數組行主序
我的代碼觀:ACM 編程風格與庫函數使用的深度對話實錄
前言 關於 ACM 競賽編程風格、標準庫使用、宏定義技巧、代碼簡潔度與可讀性的權衡,筆者與網友 librazy 進行過深度交鋒。本文整理對話實錄,提煉核心觀點分
ACM 題目代碼審查:杭電 OJ 常見錯誤模式與重構建議
背景 某初學者在杭電 OJ 提交代碼屢次 WA,代碼存在嚴重語法錯誤、邏輯混亂、變量未初始化等問題。本文通過對比錯誤代碼與重構版,總結 ACM 入門常見陷阱。
C語言 static、extern 與指針函數深度解析:存儲類別、鏈接屬性與函數指針實戰
前言 static、extern 是 C 語言存儲類別與鏈接屬性的核心關鍵字,指針函數(返回指針的函數)與函數指針(指向函數的指針)易混淆卻用途截然不同。本文系
C語言循環結構完全指南:for、while、do-while 進階用法與優化
前言 循環是程序控制流的核心構建塊。C 語言提供 for、while、do-while 三種循環結構,看似基礎,實則蘊含豐富的語義差異、編譯器優化機會與工程陷阱
feof() 與 EOF 深度解析:文件結束判斷的正確姿勢
前言 feof() 與 EOF 是 C 標準庫文件讀取中最容易誤用的概念。本文澄清兩者本質區別,揭示 while(!feof(fp)) 反模式危害,給出正確的讀
C語言文件操作完全指南:從基礎 API 到工程實踐
前言 文件操作是 C 語言持久化存儲的核心能力。本文系統梳理 ANSI C 標準 I/O(FILE* 流)與 POSIX 低級 I/O(文件描述符)兩大體系,涵
strlen 函數多種實現方式:從遞歸到指針運算的性能進化
前言 strlen 是 C 標準庫中最基礎的字符串函數,看似簡單,實則蘊含豐富的算法思想與工程優化技巧。本文從最直觀的遞歸寫法,進階到指針運算、標準庫優化(SI
C語言流程控制精髓:if、switch 分支結構深度解析
前言 流程控制是程序靈魂所在。C 語言提供 if-else、switch-case 兩大分支結構,看似簡單,實則蘊含豐富的工程細節與優化技巧。本文從語法語義、編
C語言運算符完全指南:優先級、結合性與經典陷阱
前言 運算符是 C 語言構建表達式的基石。熟練掌握運算符的優先級、結合性、副作用及常見陷阱,能寫出正確、高效、可維護的代碼。本文系統梳理 C 語言所有運算符類別
二叉樹非遞歸遍歷:棧與隊列的核心操作實現詳解
前言 在二叉樹的遍歷操作中,遞歸雖然代碼簡潔,但在數據量大或系統棧空間受限時,非遞歸實現更具實用價值。本文深入解析前序、中序、後序三種深度優先遍歷的非遞歸算法,