能力缺口在哪,先认清楚

很多写了几个月 C 的人,一提到算法库和排序还是心虚:手写一个快速排序,边界条件容易写挂;想调用现成的密码函数,又不知道头文件该包哪个、链接库怎么指。这门短课只抓两个点:怎么在 C 里落地一个可复用的密码库调用框架,以及怎么把快速排序从概念变成能编译跑通的代码。它不讲高深的密码学数学推导,也不涉及 OpenSSL 全家桶的底层架构,适合已经看过基础语法、能写出 hello world 和简单函数,但还没真正碰过标准库调用和排序算法实现的转岗者或查漏补缺者。如果你连指针和数组的关系还理不清,建议先补完基础语法再来看,否则直接上手密码库接口会卡在参数类型上。

建议先看哪块,资料怎么配练习

两讲内容互相独立,但建议先看快速排序那节,时间短且逻辑闭环快。看的时候不要只盯着视频里的代码截图,自己开一个工程文件跟着敲。快速排序的核心难点在于递归终止条件、基准值的选取以及数组分区时的指针移动顺序。第一遍跟着抄,第二遍把基准值从取首元素改成取中间元素,看看你的分区逻辑是否还能对齐。密码库那节重点放在接口理解上,搞清楚随机数生成、哈希计算这类函数的入参和返回值类型,不要死记函数名。配套练习可以这样安排:先写一个对随机生成的整型数组排序并打印结果的小程序,验证快排正确性;再写一个调用密码库生成随机数或计算哈希值的测试用例,把编译和链接过程完整跑通。

学完能独立做什么

学完这两节,你应该能独立完成这几件事:第一,不看参考资料,手写一份针对整型数组的快速排序实现,并且能说清楚最坏时间复杂度什么时候出现、怎么规避。第二,在自己的 C 工程里正确引入密码库头文件,配置好编译指令,调用基础密码函数完成一次哈希计算或随机数获取,而不是停留在知道有这个库存在。第三,遇到编译报错时,能区分是头文件路径没配对、还是链接阶段缺库,而不是盲目搜索报错信息。这两个点看似小,但它们是从只会写语法题到能做实际工程模块的门槛。不要指望看完就能设计加密协议或者手写工业级排序库,先把这两个基础模块跑通,后面碰到更复杂的算法和第三方库集成时,心里才有底。

课程目录

1 01.密码库 (43:53)
2 02.快速排序 (20:08)