C語言復習筆記:17 種實用小演算法解決實際問題
前言 本文整理 17 種經典 C 語言小演算法,涵蓋日期計算、進制轉換、數學問題、圖形列印、遞迴、貪婪等核心技巧,每題附完整代碼與核心邏輯解析,適合面試複習與工
C/C++ 易忽略的關鍵細節:指標、字串、靜態、求值順序
1. 字串字面值 vs 字元陣列:輸出行為大不同 char s1[] = hello; // 陣列在棧上,內容可修改 char *s2 = hello;
C/C++ 函數返回多個值的 4 種標準模式
核心認知:C/C++ 函數只能返回單一值 但可透過以下 4 種標準模式實現「多值返回」語意,各有適用場景。 模式 1:輸出參數 (指標/引用) —— C 風格
劣質代碼評析:《C語言入門經典》附錄B 21點遊戲(八)—— 完整最終版代碼與架構總結
完整重構版 21 點遊戲 (單檔案、標準 C99、可直接編譯執行) /* 21點遊戲:對《寫給大家看的C語言書》附錄B之21點程序的重構 */ #includ
Objective-C 類聲明與實現基礎語法速查
Objective-C 類結構核心語法 Objective-C 繼承自 C,通過 `@interface` 與 `@implementation` 分離聲明與實
劣質代碼評析:《C語言入門經典》附錄B 21點遊戲(七)—— 勝負判斷邏輯重構
原始 findWinner() 的混亂邏輯 21) { printf(Nobody wins.\n); return; } } if (tot
16位二進制數每4位求和:位運算經典面試題深度解析
題目描述 輸入一個十進制整數,程序自動轉為16位二進制表示,將其分為4組(每組4位),計算這4組數值的和。例如輸入305419896(十六進制0x1234567
OGLplus 0.33.0 發布:現代C++ OpenGL 封裝庫新增示例與構建優化
輕量級OpenGL C++門面庫再進化 OGLplus 0.33.0 正式發布,這個僅含頭文件的C++庫繼續致力於為OpenGL提供類型安全、RAII管理的現代
劣質代碼評析:《寫給大家看的C語言書》21點遊戲重構實戰(六)
經典教材代碼的現代化重構之路 《寫給大家看的C語言書》附錄B的21點(Blackjack)遊戲雖然完整實現了遊戲邏輯,但代碼結構混亂、全局變量濫用、函數耦合度高
常量指針、指針常量、指向常量的指針常量 —— C語言指針宣告完全圖解
前言 C 語言指針宣告中 `const` 的位置決定了「誰是常量」。搞混這三者是無數初學者(甚至資深開發者)的痛點。本文用「右左法則」、記憶體圖解、代碼實測、編
C語言變量聲明大全:從整型到函數指釖的完整指南
C語言變量聲明完全解析 在C語言中,變量聲明的語法靈活多變,同一個標識符a配合不同的修飾符可以表示完全不同的類型。掌握這些聲明模式對於閱讀庫代碼、系統編程和嵌入
C語言未定義行為經典案例:q = (++j) + (++j) + (++j) 為什麼結果不一致?
前言 面試經典題:int j = 7, q = (++j) + (++j) + (++j); 請問 `q` 與 `j` 的值? 許多初學者會直覺回答:`j` 變
劣質代碼評析:《C語言入門經典》附錄B 21點遊戲(五)—— 發牌、顯示與計分模組化
核心模組:dealcard、disp、update、getcard 本文詳細剖析發牌、顯示、計分四個核心函數的重構過程,展示如何將原始代碼中糅雜在 dispCa
C語言巨集 完整指南:寫法規範、展開機制、常見陷阱與最佳實踐
前言 巨集 是 C 語言預處理器 提供的文字替換機制。它不是函數,不進行型別檢查,不產生函數呼叫開銷,但在系統程式、嵌入式開發、高效能計算中無處不在。正確掌握巨
劣質代碼剖析:《C語言入門經典》附錄B 21點遊戲(四)—— 從面條式代碼到模組化重構
前言 《寫給大家看的C語言書》雖為入門暢銷書,但其附錄 B 的「21點撲克遊戲」卻是典型的教學反面教材:全域變數氾濫、函數耦合極高、邏輯與顯示混雜、無錯誤處理、
Linux 系統程式設計:檔案 I/O 基礎 —— 檔案描述符、open/close/creat 詳解
前言 在 Linux 世界裡,「一切皆檔案」。無論是普通檔案、目錄、裝置、Socket,還是管道,核心都統一用檔案描述符 來管理。掌握低層 I/O (Low-l