C 指標與陣列經典面試題:&a+1 與 a+1 的本質區別
題目代碼 int a[5] = {1,2,3,4,5}; int *ptr1 = (int *)(&a + 1); int *ptr2 = (int *)((i
C 標準庫 字元級標準 I/O 函式原型說明 getcharint getchar(void)從 stdin 讀一字元,EOF 為 -1 putcharint putch
Swift 單例模式三種實現方式:從 Objective-C 遷移指南
背景:Objective-C 單例慣用寫法 + (instancetype)sharedInstance { static dispatch_once_
貪心算法經典:田忌賽馬問題(HDU 1052)完整解析與 C++ 實現
問題重述 田忌與齊王各有 n 匹馬(n ≤ 1000),速度已知。每場比賽派一匹馬,贏得 +200,平 0,輸 -200。求田忌最大期望收益。 貪心策略核心邏
C 語言清除 scanf 殘留緩衝區的標準做法與陷阱解析
問題現象 int k; scanf(%d, &k); char c; c = getchar(); // 直接讀到殘留的 \n,導致跳過使用者輸入 s
C 語言實作 ATM 系統:結構體、鏈表、檔案持久化完整教學
系統架構概覽 本專案模擬自動櫃員機核心流程:帳戶驗證、存取款、查詢餘額、修改密碼、資料持久化。採用模組化設計,核心資料結構為單向鏈表,檔案作為離線儲存。 核心
C 標準 I/O 實戰:fread/fwrite 二進位檔案完整複製指南
場景需求 需將 .hex 格式韌體檔案完整複製,要求目標檔案與來源逐位元一致。使用標準庫 fread/fwrite 實現塊讀寫。 核心 API 速查 函式原
C 語言 ++i 與 i++ 深度解析:副作用、序列點與未定義行為
核心差異:值與副作用的時序 ++i(前綴)與 i++(後綴)均會將 i 加 1,但表達式的值不同: ++i:先遞增,表達式值為遞增後的值。 i++:表達式值為
中綴轉後綴表達式:經典棧應用解析(含完整 C 實現)
問題描述 給定一個中綴表達式(運算元為個位數,運算符僅含 + - * / 及括號),請將其轉換為後綴表達式(逆波蘭表示法)。測試資料組數 T < 10,每
使用反組譯分析 C 語言記憶體分佈:ARM 平台實戰指南
前言 在嵌入式開發中,理解 C 程式編譯後的記憶體佈局至關重要。本文將透過 ARM 平台下的反組譯工具 arm-linux-objdump,深入剖析變量在不同記
Objective-C 記憶體管理核心:循環引用成因、檢測與解決方案(弱引用/所有權修飾符)
背景:手動引用計數 (MRC) 時代的痛點 雖然現代 iOS 使用 ARC,但理解循環引用本質對調試洩漏、處理 Core Foundation/跨語言橋接仍至關
C 指針編程之道:指針在排序與查找算法中的核心應用
前言 指針是 C 語言操作內存、實現高性能算法的核心工具。本文通過直接選擇排序與二分查找兩個經典案例,展示指針算術、解引用、參數傳遞在算法中的實戰運用。 一、
Objective-C 集合類完全指南:NSArray、NSSet、NSDictionary 及其可變版本實戰
核心類別體系 不可變可變子類特性 NSArrayNSMutableArray有序、可重複、下標訪問 NSSetNSMutableSet無序、唯一、高效查找 N
Objective-C Block 完整指南:定義、使用、記憶體管理、循環引用解決
Block:Objective-C 的閉包實作,捕獲上下文的匿名函數 Block 是 iOS/macOS 開發核心技術,廣泛用於枚舉、動畫、排序、網路回調、多執
閉散列表(開放定址法)完整實現:線性探測、插入、查找、刪除與標記刪除
核心概念 閉散列表:所有鍵值直接存儲在雜湊表數組中,衝突通過探測序列尋找下一個空槽 本文採用線性探測:hash(key) + i (mod size) 刪除標
同一算法的 C、Python、JavaScript 三語言實現對比:統計 20 世紀每月 1 日星期日數量
問題描述 已知 1900-01-01 是星期一,計算 1901-01-01 至 2000-12-31 間,有多少個月的 1 號是星期日。需處理閏年規則: 能被
C 語言排序與二分查找實戰:三數組求和查詢(優化至 O(L·N·log M))
問題描述 給三個數組 A[L], B[N], C[M] (L,N,M ≤ 500) 與 S 個查詢 X (S ≤ 1000),判斷是否存在 A[i] + B[j