C 学习路线

  • 编程语言
  • 计算机基础
    • 数据结构和算法
    • 计算机网络
    • 操作系统
    • 设计模式
  • 项目实战
    • Linux 操作系统
    • 编译/调试工具
    • Linux 环境编程

编程语言

指针、内存管理

学习书籍:《C Primer Plus》、《C 和指针》、《C 专家编程》

计算机基础

数据结构和算法、计算机网络、操作系统、设计模式

数据结构和算法

刷题:LeetCode

学习书籍:《大话数据结构》(C/C++)、《算法》(Java)、《剑指 Offer》

计算机网络

TCP/IP 协议

学习书籍:《TCP/IP 详解》

操作系统

进程和线程(并发、锁)、内存(分布、调度)

学习书籍:《深入理解操作系统》

设计模式

常用:单例、工厂、代理、策略、模板方法

学习书籍:《大话设计模式》

项目实战

Linux 操作系统

常用命令、shell 编程(批处理、自动化脚本)

学习书籍:《鸟哥的 Linux 私房菜》、《Linux 就该这么学》

编译/调试工具

编译工具:gcc、make(makefile)

调试工具:gdb

学习资料:GNU 官方 gcc 和 gdb 文档、《debugging with gdb》中文版、《跟我一起写 makefile》

Linux 环境编程

Linux 系统编程、多线程编程(线程、资源、信号、同步、互斥、锁)、网络编程

学习书籍:《Unix 环境高级编程》、《Linux 高性能服务器编程》、《POSIX 多线程程序设计》