Skip to content

C ​

以C的真实运行模型为主线,覆盖基础语法、核心抽象、工程边界和长期维护所需的迁移判断。

阅读起点 ​

先从本页第一章开始;如果对应概念已经熟悉,可以从目录中选择需要补齐的章节。

全书顺序 ​

本书按知识依赖组织。主线先建立可运行的共同模型,再进入机制、工程边界和生产约束;维护与前沿内容明确标注,不改变主线的学习顺序。

第1章|编译器、类型与指针基础 ​

理解本章编译器、类型与指针基础的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 编译器:gcc、编译过程与调试:理解编译器:gcc、编译过程与调试的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 类型与变量:基本类型、声明与作用域:理解类型与变量:基本类型、声明与作用域的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 指针:地址、解引用与指针运算:理解指针:地址、解引用与指针运算的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 控制流:分支、循环与 goto:理解控制流:分支、循环与 goto的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第2章|数组、字符串与函数 ​

理解本章数组、字符串与函数的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 数组:声明、初始化与多维数组:理解数组:声明、初始化与多维数组的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 字符串:字符数组、字符串字面量与标准库:理解字符串:字符数组、字符串字面量与标准库的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 函数:定义、声明、参数传递与返回:理解函数:定义、声明、参数传递与返回的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 指针与数组:退化、指针算术与多级指针:理解指针与数组:退化、指针算术与多级指针的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第3章|结构体、联合与内存布局 ​

理解本章结构体、联合与内存布局的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 结构体:定义、访问与嵌套:理解结构体:定义、访问与嵌套的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 联合与枚举:共享内存与常量:理解联合与枚举:共享内存与常量的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. typedef 与类型别名:代码可读性:理解typedef 与类型别名:代码可读性的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 内存布局:对齐、填充与大小:理解内存布局:对齐、填充与大小的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第4章|动态内存、生命周期与泄漏 ​

理解本章动态内存、生命周期与泄漏的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 栈与堆:自动存储与动态分配:理解栈与堆:自动存储与动态分配的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. malloc 与 free:分配、释放与悬空指针:理解malloc 与 free:分配、释放与悬空指针的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 内存泄漏:检测、Valgrind 与最佳实践:理解内存泄漏:检测、Valgrind 与最佳实践的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. realloc 与 calloc:重新分配与零初始化:理解realloc 与 calloc:重新分配与零初始化的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第5章|头文件、编译与链接 ​

理解本章头文件、编译与链接的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 预处理器:#include、#define 与条件编译:理解预处理器:#include、#define 与条件编译的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 头文件:声明、包含守卫与组织:理解头文件:声明、包含守卫与组织的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 编译与链接:目标文件、静态库与动态库:理解编译与链接:目标文件、静态库与动态库的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. Makefile:构建自动化:理解Makefile:构建自动化的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第6章|文件 I/O、标准库与错误处理 ​

理解本章文件 I/O、标准库与错误处理的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 标准 I/O:printf、scanf 与格式化:理解标准 I/O:printf、scanf 与格式化的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 文件操作:fopen、fread、fwrite 与 fclose:理解文件操作:fopen、fread、fwrite 与 fclose的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 错误处理:errno、perror 与返回值:理解错误处理:errno、perror 与返回值的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 标准库:string.h、stdlib.h 与 math.h:理解标准库:string.h、stdlib.h 与 math.h的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第7章|系统编程、安全与标准演进(第1段) ​

理解本章系统编程、安全与标准演进的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 未定义行为:常见陷阱与编译器假设:理解未定义行为:常见陷阱与编译器假设的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 安全编程:缓冲区溢出、整数溢出与防御:理解安全编程:缓冲区溢出、整数溢出与防御的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 系统编程:POSIX、进程与信号:理解系统编程:POSIX、进程与信号的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 版本演进:从 K&R 到 C23:理解版本演进:从 K&R 到 C23的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  5. 指针与地址:理解指针与地址的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  6. 数组退化:理解数组退化的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

第8章|系统编程、安全与标准演进(第2段) ​

理解本章系统编程、安全与标准演进的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

  1. 动态内存:理解动态内存的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  2. 未定义行为:理解未定义行为的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  3. 安全编程:理解安全编程的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  4. 内存布局:理解内存布局的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  5. 编译链接:理解编译链接的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  6. 文件 I/O:理解文件 I/O的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。
  7. 错误处理:理解错误处理的核心模型、常见操作和适用边界,并能据此判断下一步该查什么或如何验证。

阅读边界 ​

本页是学习路线和专题入口,不替代专题笔记中的机制解释、可运行示例和练习。笔记尚未完成的专题会先显示为占位页;已有经验的读者可以跳到具体章节,再按前置关系回补。

路线状态 ​

本路线的目录已完成本轮架构审查;专题笔记的内容质量和来源审查另行进行。

用心记录每一步成长