C 語言面試題精選:const 指針辨析與 sizeof 陷阱全解
題目一:三種 const 指針聲明的區別 char * const p1; // (1) char const * p2; // (2) co
VRML 文件解析與場景重構:基於 Coin3D/Open Inventor 的 C++ 實現
項目背景 讀取 VRML (WRL) 文件,提取幾何頂點、索引、紋理座標,重構場景並實現頂點波動動畫。使用 Coin3D(Open Inventor 開源實現)
Parallet:一門為異步而生的動態編程語言設計與實現
緣起:C# 異步編程的痛點 作者需開發高並發服務器,C# 異步模式(APM/EAP/Task)導致回調地獄、異常處理分散、循環/控制流難表達。決定創造新語言 P
C 語言數組原地逆序:雙指針交換標準實現
問題描述 將數組元素原地逆序。例:[9,6,5,4,1] → [1,4,5,6,9]。 算法:首尾雙指針交換 時間 O(n),**空間 O(1)**,**原地
C 語言結構體內存對齊規則詳解與 sizeof 計算實戰
為什麼需要內存對齊? CPU 訪問內存以「字」為單位(32 位系統 4 字節,64 位 8 字節)。若數據跨邊界存儲,需兩次總線周期讀取,降低性能。編譯器自動插
HDU 1686 Oulipo:KMP 算法求模式串在主串中出現次數(可重疊)
問題描述 給定模式串 P(長 ≤ 10000)和主串 S(長 ≤ 1000000),求 P 在 S 中出現的次數,**可重疊**。多測試用例。 樣例: Inp
C/C++ const 關鍵字四大用法完全指南
const 核心哲學:讀時從右向左 掌握「右左法則」:從變量名出發,向右找修飾,向左找類型。 例:const int * const p → p 是 const
Linux 下 GNU C 實現多線程聊天室:Socket + pthread 完整教程
項目概覽 架構:Server 監聽端口,每連接創建一線程處理收發 協議:TCP,文本消息廣播 並發模型:One Thread Per Connection(教
Java 靜態與實例字段初始化順序深度解析:字節碼視角
問題現場 類中混合定義靜態字段、靜態塊、實例字段、構造器,且存在前向引用(在聲明前使用後聲明的字段)。new Class() 時,各字段最終值是多少? 代碼示
C 語言 static 關鍵字全解析:三大用法與工程最佳實踐
static 三大核心用法 1. 修飾局部變量:延長生命週期,限制作用域 void counter() { static int count = 0
貪心算法入門:分數背包問題與 C++ 實現
貪心 vs 動態規劃 貪心算法:每步做局部最優選擇,期望達到全局最優。 動態規劃:基於最優子結構+重疊子問題,自底向上/自頂向下備忘錄。 關鍵區別:貪心無後悔,
C語言經典面試題:字符串反轉與統計字節中 1 的個數
題目一:字符串原地反轉 實現 void InvertStr(char *str),將 abc 變為 cba。 核心思路:雙指針首尾交換 void Invert
最大子數組和:Kadane 算法與四種實現的完整解析
問題描述 給定整數數組(含正負),找出連續子數組的最大和。要求 O(n)。 例:[1, -2, 3, 10, -4, 7, 2, -5] → 最大子數組 [3,
求 500 萬以內所有親和數:線性篩法的極致優雅
什麼是親和數? 若兩數 a, b 滿足:a 的真因數(不含自身)之和 = b,且 b 的真因數之和 = a,則稱 (a,b) 為親和數對。 經典例:220 &a
兩數之和與多數之和:從 O(n²) 到 O(n) 的多維度解法
問題描述 給定整數數組和目標值 sum,找出兩個數使其和等於 sum。若多對滿足,任輸出一對。要求 O(n) 時間。 例:[1,2,4,7,11,15], su
現場手寫字符串庫函數:strstr、strcpy、strpbrk 完全攻略
背景:為什麼面試要手寫庫函數? 中小公司資源有限,除抄襲大廠題庫,常考察基礎功底與細節把控:限時 10 分鐘實現 strcpy/strcat/strstr 等。
尋找最小的 k 個數:八種算法的時間空間權衡全解析
問題描述 輸入 n 個整數,輸出其中最小的 k 個。例:[1,2,3,4,5,6,7,8], k=4 → [1,2,3,4]。 八種方案複雜度對比 方案思