技术文章

每周更新 C 语言干货,从语法细节到工程实践

预处理

C 语言预处理完全指南

宏定义、条件编译、#pragma 与预定义宏。深入理解编译前发生了什么,以及如何写出安全的宏。

阅读全文 →
底层

C 语言位运算实战技巧

掩码操作、标志位管理、位域结构、大小端判断与交换,以及嵌入式和网络编程中的典型场景。

阅读全文 →
指针

函数指针与回调函数实战

从声明语法到 qsort 自定义比较、事件驱动编程与状态机实现。附完整可编译代码。

阅读全文 →
内存

结构体内存对齐与填充详解

对齐规则、填充字节、#pragma pack、位域与性能影响。通过调整成员顺序减小结构体体积。

阅读全文 →
工程化

GDB 调试 C 程序完全指南

断点、单步、查看变量、回溯栈帧、条件断点与 core dump 事后分析。常用 GDB 命令速查。

阅读全文 →
指针

彻底搞懂指针与数组的区别

数组名在大多数表达式中会退化为指针,但 sizeof 与取地址时例外。本文通过内存布局与代码,讲清何时等价、何时不等价。

阅读全文 →
数据结构

手写单链表的 5 个细节

头指针与头结点的选择、空链表处理、插入前驱定位、删除内存释放、边界测试。附完整可编译源码。

阅读全文 →
算法

快速排序的 3 种 C 实现

Lomuto 分区、Hoare 分区与三数取中优化版。对比递归深度、交换次数与重复数据处理策略。

阅读全文 →
内存

Valgrind 排查内存泄漏实战

从安装、基本用法到 suppressions 规则。通过 4 个典型泄漏场景演示定位流程。

阅读全文 →
系统编程

Linux 文件描述符与 I/O 多路复用

阻塞与非阻塞 I/O、select / poll / epoll 核心差异、LT 与 ET 模式。附 echo 服务器代码。

阅读全文 →