从套接字到嵌入式数据库:C 语言网络与数据持久化实战
很多 C 语言初学者卡在“语法懂了,但做不出完整项目”的阶段。这门课专门解决这个断层,它不教基础语法,而是聚焦于两个核心能力:网络通信(TCP/UDP)和轻量级数据库(SQLite)。适合已经掌握 C 语言基础语法、指针和结构体,但缺乏系统项目经验的学习者。建议优先看 TCP 多线程群聊、UDP 广播、文件操作补充以及 SQLite 数据库实战这四块,这是整个课程的技术骨架。
网络编程与底层机制:突破并发思维瓶颈
课程前半部分深入讲解 TCP 和 UDP 通信机制。通过“TCP 多线程群聊”和“UDP 数据广播”两个实战项目,学习者将理解socket编程的完整流程:从创建套接字、绑定地址、监听端口到数据传输和断开连接。特别值得注意的是“TCP传输”章节,它展示了如何可靠地传输大数据块,这是许多初学者容易忽视的细节。同时,“删除注释”和“状态模式删除注释”两个项目引入了状态机的概念,帮助学习者理解如何通过 C 语言模拟面向对象的状态管理,这对于后续理解设计模式至关重要。
“文件函数补充”和“磁盘遍历以及文件复制”则强化了文件系统操作能力。在 C 语言中,文件IO是数据持久化的基础,这些内容对于理解后续数据库操作有直接的铺垫作用。学习者需要掌握如何用C语言处理路径、读写文件、管理目录结构,这些都是开发底层工具或系统软件的必备技能。
数据库与面向对象模拟:C 语言的工程化进阶
课程后半部分转向数据持久化和高级编程范式。第九章“为啥用数据库”从理论层面解释了为什么在文件存储之外需要引入数据库,为学习 SQLite 打下认知基础。“SQLlite数据库实战”是全书最重量级的章节,长达一个多小时,详细讲解如何用 C 语言调用 SQLite API 进行增删改查操作。这是嵌入式系统和轻量级应用开发的核心技能,学会后学习者可以独立开发带有数据持久化能力的本地应用程序。
后半部分的亮点在于用 C 语言实现 C++ 的三大特性:继承、多态和封装。这不是为了造轮子,而是帮助学习者深刻理解面向对象设计的底层机制。通过手动实现虚函数表、继承关系和访问控制,学习者对内存布局、函数指针和结构体组合的理解将达到新的高度。此外,“猥琐的C99语法”章节补充了现代 C 语言的实用特性,如变长参数、混合声明与代码、内联函数等,使代码更加简洁高效。最后的“C++”章节作为延伸,展示了 C 与 C++ 的互操作性,为学习者后续转向 C++ 开发提供平滑过渡。
整体而言,这门课通过一系列实战项目,帮助学习者建立起从网络通信到数据持久化,再到高级编程范式的完整知识体系。学完后,学习者能够独立开发具有网络交互能力和本地数据存储的应用程序,为后续学习 Linux 系统编程、嵌入式开发或网络服务器开发奠定坚实基础。建议配合课程资料包中的示例代码进行动手练习,重点实现每个项目的核心功能,并在理解基础上尝试修改和优化。
课程目录
1 01.TCP多线程群聊 (30:17) 2 02.TCP多线程群聊加强 (19:38) 3 03.UDP数据广播 (46:55) 4 04.TCP传输 (50:51) 5 05.删除注释 (41:28) 6 06.状态模式删除注释 (13:38) 7 07.海华的心 (09:35) 8 08.文件函数补充 (27:57) 9 09.为啥用数据库 (48:26) 10 10.文件与文件夹搜索 (11:41) 11 11.磁盘遍历以及文件复制 (18:21) 12 12.SQLlite数据库实战 (01:26:45) 13 13.时间的操作与备忘录设计模式 (14:33) 14 14.C语言实现C++的继承 (12:03) 15 15.C语言实现多态 (13:44) 16 16.C语言实现封装 (26:18) 17 17.猥琐的C99语法 (28:30) 18 18.C++引用C代码 (05:10)





