自学C大纲

用 C 语言从内存直觉出发,逐步走到数据库实现和相似查询。

怎么用#

  1. 读每章开头的问题和最小实验,知道这一章要解决什么。
  2. 自己补代码、编译运行、改输入和边界条件,观察行为变化。
  3. 做“自己试试看”的题;到第 6、10、19、29、34 章后,再做对应阶段项目。

运行示例里,以 $ 开头的行表示你要输入的内容;实际输入时只输入 $ 后面的文字。没有 $ 的行是程序显示的输出。

每章独立可读,但顺序走效果最好:上一章留下的问题,通常就是下一章要解决的东西。

推荐阅读#

  • 《C Primer Plus》(Stephen Prata):耐心、具体、实验多,零基础从头读,和本路线风格最接近。
  • 《C 和指针》(Kenneth Reek):指针、数组、字符串、动态内存写得清楚,做第 5 章数组和第 10 章指针时对照读。
  • 菜鸟教程 — C 语言:在线速查,函数签名和语法忘了快速翻。

四段主线#

编程基础(第 1-10 章)#

内存格子、变量、判断循环、函数、数组、字符串、结构体、文件、调用栈、指针和动态容量。这段结束时,能写出一个可保存的学生表:输入记录、存到文件,下次启动再读回来。

数据结构(第 11-19 章)#

从动态数组的插删痛点长出链表、栈、队列、表达式计算、排序、二分查找、二叉搜索树和哈希表。第 19 章用测试、操作计数和不变量检查这些结构跑得对不对。

数据库(第 20-29 章)#

把前面的工具组合成数组版数据库、动态数据库表、链表版存储,再加上稳定接口、多文件模块、索引、持久化、日志恢复、命令协议和状态机解析。

向量学习(第 30-34 章)#

找“和这条记录最像的记录”时,id 不够用。这段把记录变成向量,用距离做 Top-K/KNN,再进入 KMeans 和线性回归,全部手写数组和循环,不引入 PyTorch。

课程章节#

编程基础#

数据结构#

数据库#

向量学习#

阶段项目#

AIGC 声明#

本课程内容使用了 AI 辅助生成,包括正文、代码示例和插图,作者主要把控内容整体方向和内容正确性。