- 博客(8)
- 收藏
- 关注
原创 环形队列:转经筒里的渡口
环形队列通过取模运算将线性队列首尾相连,实现固定内存下的高效循环使用。其核心在于“rear指向空位”与“留一格判满”的设计,确保空满状态可区分。相比普通队列避免了元素前移的开销,也克服了空间浪费问题。适用于嵌入式、内核等对内存可控性要求高的场景;而通用业务则推荐使用标准库。本质是用数学巧妙化解资源瓶颈,让“先来后到”在闭环中持续公平流转。
2026-10-01 20:37:31
365
原创 从删除一个节点,到写出Linux内核链表
本文从链表删除操作切入,剖析传统双向链表在边界处理上的痛点,揭示哨兵节点如何统一头尾特殊情形。通过对比无哨兵与带哨兵实现,引出Linux内核侵入式链表的精妙设计——将节点嵌入宿主结构,以偏移量实现通用遍历。最终指出:真正高手关注的不是代码细节,而是数据与结构之间的深层关系。
2026-09-13 19:52:59
333
原创 指针的深渊:从变量到地址的降维打击
文章摘要: C语言指针深度解析:从内存视角重新理解编程。本文系统性地解构了指针的本质与应用:1) 变量本质是内存别名,左值代表地址,右值代表内容;2) 指针是存储地址的整数变量,类型决定其运算步长;3) 深入分析野指针三大类型(未初始化、悬垂、越界)及其危害;4) 揭示数组与指针的微妙关系,数组名在多数情况下退化为指针;5) 详解函数指针机制,展示回调函数的实现方法。通过内存视角的降维分析,帮助开发者掌握指针这一C语言核心概念,规避常见陷阱,提升代码质量与安全性。(149字)
2026-06-12 17:07:40
390
原创 理牌之道:在扑克牌中探寻插入排序的本质
文章摘要: 插入排序是一种直观且高效的排序算法,其原理类似于整理扑克牌时的"摸牌-插入"过程。算法将数组分为已排序和未排序两部分,每次从未排序部分取出一个元素,在已排序部分找到合适位置插入。插入排序具有稳定性(相等元素顺序不变)、原地排序(空间复杂度O(1))等特性,时间复杂度在最好情况(已排序)为O(n),最坏情况(逆序)为O(n²)。文章通过生动的扑克牌类比、详细执行流程图解和多种编程语言实现,深入浅出地解析了插入排序的工作原理及实际应用场景,特别适合处理小规模或近乎有序的数据。
2026-06-10 07:00:00
886
原创 线性空间的契约:函数与数组的耦合
本文摘要: C语言数组在函数调用时会退化为指针,这是其核心特性。函数作为黑盒,通过传值或传址与外界交互,而数组传递时丢失长度信息,仅保留首元素指针。多维数组本质是线性内存的映射,函数参数需明确除第一维外的所有维度。返回数组只能通过指针实现,但需警惕悬垂指针风险,推荐由调用者提供缓冲区。工程实践中,数组长度必须显式传递,sizeof在不同语境下可能失效,反映了C语言数组非一等公民的本质。这些特性深刻影响着程序的内存管理和数据传递方式。
2026-06-09 06:00:00
537
1
原创 锚点与舵:善用常量固化逻辑,驾驭分支循环
程序的世界里,万物皆流,唯有限制铸就秩序。常量是秩序的基石,它以宏的雷厉风行、枚举的温文尔雅与 const 的坚定承诺,封印了不确定性,拒绝让晦涩的“魔数”侵蚀代码的灵魂。分支则是命运的十字路口,无论是 if-else 在真假迷雾中的二选一,还是 switch-case 对离散世界的精准切割,都在以逻辑之力重塑程序的走向。循环,更是驱动万物的引擎——for 循环是整齐划一的阅兵式,while 循环是对未知条件的虔诚等待,而 do-while 则是破釜沉舟的孤注一掷。唯有掌握了 break 的决绝与 cont
2026-06-08 07:00:00
629
1
原创 铸型与洪流:在C语言中雕刻数据的形状
本文系统梳理了C语言数据类型体系,分为基本类型、修饰符、派生类型和void类型四大类,详细列出各类型的存储大小、取值范围及使用场景。文章提供了类型选择建议、printf/scanf格式控制符对照表及实用修饰符技巧,强调数据类型作为内存管理工具的双重性:既是程序安全的保障,也可能成为潜在错误来源。通过理解数据类型的底层原理,开发者能在内存限制与程序表达之间找到平衡,构建高效可靠的代码逻辑。
2026-06-07 07:00:00
541
1
原创 手撕数据结构:C语言实现顺序表(附完整源码)
本文探讨了手写顺序表的核心价值与实现方法。顺序表作为基础数据结构,其底层原理是理解现代容器库的关键。文章对比了静态与动态顺序表的优缺点,分析了时间复杂度,并强调了工程实践中健壮性、可扩展性和高效性的重要性。通过酒店房间的类比,解释了size与capacity分离的必要性,以及类型重定义(ElemType)的价值。最后提供了工程级C语言顺序表的完整实现方案,包括初始化、增删查改等核心接口,为开发者提供了可直接使用的模板。理解这些底层原理不仅能应对面试考研,更是性能优化和内存管理的基础。
2026-06-06 16:54:58
1288
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅