C 是这条学习路线的第一站。它不替你管理内存,也不隐藏任何细节——正因如此,学完 C 再学 C++ 和数据结构,你会知道每一行代码背后机器在做什么。
这门语言可以压成一句话:用指针和结构体,自己组织内存。整条线围绕这一点展开:先把程序跑起来,再搞清楚变量和类型,然后是流程控制、函数、数组与字符串,最后落到指针、动态内存、结构体,用一个统计小项目收尾。
💡 学 C 的正确姿势:每个例子都亲手敲、亲手编译。C 的报错往往比 C++ 更难读,但正因如此,你在这里练出的读报错能力,后面所有语言都用得上。
🗂️ 章节导航(8 章 · 16 道练习)
第 1 章 第一个 C 程序与编译过程写下第一个程序、看懂 gcc 命令、知道 .c 文件是怎么变成可执行文件的2 道练习 · 点开阅读 →第 2 章 变量、类型与输入输出搞清基本类型的大小、printf/scanf 的格式符,以及为什么类型选错会出错2 道练习 · 点开阅读 →第 3 章 运算符与流程控制if / switch / 三种循环,以及 C 里最容易踩的运算符坑2 道练习 · 点开阅读 →第 4 章 函数与多文件组织函数原型、值传递的本质、static 与头文件,以及怎么把代码拆成多个文件2 道练习 · 点开阅读 →第 5 章 数组与字符串数组的内存布局、越界为什么危险、C 的字符串为什么要靠 '\0' 收尾2 道练习 · 点开阅读 →第 6 章 指针与动态内存指针的本质、指针与数组的关系、malloc/free 的正确用法与常见错误2 道练习 · 点开阅读 →第 7 章 结构体、枚举与 typedef把相关数据打包成一个类型,并用 qsort 排序结构体数组2 道练习 · 点开阅读 →第 8 章 文件、命令行参数与综合实战把输入输出从屏幕扩展到文件和命令行,并完成一个统计小项目2 道练习 · 点开阅读 →
🛠️ 环境准备
- Windows:装 MSYS2 或 MinGW-w64,装好后终端里能跑 `gcc --version`。
- macOS:装 Xcode Command Line Tools(`xcode-select --install`)。
- Linux:`sudo apt install build-essential`(Debian/Ubuntu 系)。
- 编译命令统一用:`gcc -std=c17 -Wall -Wextra -o app app.c`。
➡️ 回到总目录:编程语言分享(C / C++ / Java / Python)