3. 文件详解
Lab 1: C 基础 基础
gcd.c / prime.c
GCD 判断互素,Prime 判断素数。使用循环遍历因子。
convert.c
使用 (x>>i)&1 提取每一位,手动添加空格格式化。
Lab 2: 动态内存 基础
twecho.c
存在内存问题(Valgrind 报错)。正确做法:双重 malloc + 双重 free。
isort.c
选择排序实现。使用指针算术计算数组大小 end - begin。
Lab 3: 链表 核心
mylist.c
完整泛型链表实现。reverseList 使用三指针法原地反转。
Lab 4: MDB 核心
mdb-lookup.c
二进制文件读取 → 链表存储 → strstr 搜索。
Lab 5: 进程 进程
mdb-lookup-server-nc-*.c
使用 fork + execl 启动 shell 脚本。nc-2 版本添加了循环和信号处理。
Lab 6: Socket 网络
mdb-lookup-server.c
完整 TCP 服务器。使用 fdopen 包装 socket,send 发送结果。
http-client.c
HTTP 下载器:构建 GET 请求,解析响应,提取 Body 保存文件。