这门课是我给自己补的「C 的底层课」:市面上的 C 教程教你语法,这门课讲指针在机器上到底是什么。每一章都尽量配三样东西:内存图(第 2 章的五段地图贯穿全课)、真实汇编或调试器输出、以及一个我(或所有人都)踩过的坑。全课压轴是第 14 章的「未定义行为案卷」,把前面各章埋的伏笔一次收网,它会改变你看 C 代码的方式。
和数据结构课(C 语言实现)互为表里:那边讲「结构怎么组织」,这边讲「指针怎么工作」;和计算机组成课的第 3、10 章(汇编、栈帧)也有明确的交接点,交叉引用都标了章号:
先修:会 C 的基本语法(变量、循环、函数),不需要指针基础(第 1 章从零讲)。教材配合:《C 和指针》《C 陷阱与缺陷》(坑的宝库)、CS:APP 第 3 章(机器级视角),以及 cdecl.org(声明读不准时先查再练)。