C语言指针:原理与工程实践
📚 共计 30 章节
01
指针是什么
内存地址的概念 · 指针变量的定义与初始化 · 取地址符&与解引用符* · 指针的大小与类型
基础
入门
02
指针与基本类型
指向整型/字符型/浮点型的指针 · void* 泛型指针 · const 与指针 · 多级指针
类型
const
03
指针与数组
数组名的本质 · 指针访问数组元素 · 指针与多维数组 · 数组指针与指针数组
数组
进阶
04
指针与函数
值传递与地址传递 · 指针作为函数参数 · 函数指针的定义与调用 · 回调函数机制
函数
回调
05
指针与字符串
字符串存储方式 · 字符指针与字符数组区别 · 字符串处理函数指针实现 · 字符串常量
字符串
经典
06
动态内存管理
malloc/calloc/realloc/free · 内存泄漏检测与预防 · 野指针与悬空指针 · 堆区与栈区
内存
核心
07
指针与结构体
结构体指针 · -> 运算符 · 结构体成员访问 · 结构体数组与指针 · 指针成员
结构体
复合
08
指针与链表
单向链表创建与遍历 · 节点插入与删除 · 双向链表与循环链表 · 链表反转
链表
数据结构
09
指针的高级应用
函数指针数组(转移表) · 返回函数指针 · 复杂指针声明解析 · 可变参数列表与指针
高阶
技巧
10
指针与文件操作
文件指针 FILE* · 打开与关闭 · fread/fwrite · 文件位置指针定位
文件
IO
11
指针与内存操作
memcpy/memmove/memset/memcmp · 内存对齐与指针 · 字节序(大端/小端)与指针
内存
底层
12
指针与位操作
指针的位运算 · 位域与指针 · 使用指针操作硬件寄存器 · 位图与指针
位运算
硬件
13
指针与嵌入式系统
裸机编程指针应用 · 寄存器地址映射 · 中断向量表与函数指针 · Bootloader指针技巧
嵌入式
实战
14
指针与操作系统
进程地址空间 · 虚拟内存与指针 · 栈帧与函数调用约定 · 动态链接库中的指针
OS
原理
15
指针与数据结构
栈与队列指针实现 · 二叉树指针实现 · 哈希表指针实现 · 图的邻接表与指针
数据结构
算法
16
指针与算法
排序算法指针交换 · 查找算法指针优化 · KMP字符串匹配指针实现 · 递归与指针
算法
优化
17
指针与多线程
线程安全与指针 · 互斥锁保护指针数据 · 原子操作与指针 · 线程局部存储与指针
多线程
并发
18
指针与网络编程
套接字编程中的指针 · 数据包解析与指针 · 缓冲区管理与指针 · 协议栈指针应用
网络
Socket
19
指针与编译器
语法分析中的指针 · 抽象语法树(AST)指针构建 · 符号表与指针 · 中间代码生成
编译器
原理
20
指针与调试
GDB调试指针技巧 · Valgrind内存检测 · 段错误定位与修复 · 指针越界检测
调试
工具
21
指针与安全
缓冲区溢出攻击原理 · 栈溢出与指针 · 格式化字符串漏洞 · 安全编程规范
安全
漏洞
22
指针与C++
引用与指针区别 · this指针 · 虚函数表与指针 · 智能指针(unique_ptr, shared_ptr)
C++
面向对象
23
指针与汇编
从汇编角度看指针 · 寄存器与内存地址 · 函数调用栈汇编分析 · 指针运算汇编实现
汇编
底层
24
指针与硬件
MMU与虚拟地址转换 · DMA与指针 · 内存映射I/O · Cache与指针访问效率
硬件
体系结构
25
指针与性能优化
指针与缓存局部性 · 指针别名与编译器优化 · restrict关键字 · 指针与SIMD指令
性能
优化
26
指针与代码规范
指针命名规范 · 指针使用检查清单 · 代码审查指针问题 · 指针相关设计模式
规范
工程
27
指针与测试
单元测试指针模拟 · 桩函数与指针 · 内存泄漏测试 · 指针模糊测试
测试
质量
28
指针与跨平台
不同平台指针大小与对齐 · 字节序问题与指针 · 可移植指针编程技巧 · 指针与ABI兼容性
跨平台
移植
29
指针与Rust
Rust所有权与借用机制 · 引用与指针区别 · unsafe Rust原始指针 · FFI指针传递
Rust
现代
30
指针综合实战
实现简易内存池 · JSON解析器 · 动态数组(Vector) · 内存调试工具
项目
综合