C 语言知识地图

内容简介

这页是 C 语言补充知识的索引。CandCPP基础 保留快速上手主线,C 文件夹负责补充更接近底层和教材细节的内容:指针、类型转换、存储与链接、结构体/联合体/位域、栈与过程调用、手动内存管理和常用库。

学习策略:

  • 主线先会写:变量、流程、函数、数组、指针、结构体。
  • C 文件夹再补机制:对象表示、地址、生命周期、链接、调用栈、未定义行为。
  • 如果问题已经涉及 C++ 对象生命周期、RAII、模板或 STL,不在 C 里硬讲,跳转到对应 C++ 页面。

学习顺序

C 基础补充
  -> C语言类型转换规则
  -> C语言指针细节
  -> C语言结构体
  -> C语言联合体
  -> C语言位域
  -> C语言存储类型
  -> C语言系统栈与过程调用
  -> C语言MallocFree
  -> c语言常用库
  -> C语言设计

主题索引

主题解决的问题入口
类型转换整型提升、通常算术转换、有符号/无符号混用、强制转换边界C语言类型转换规则
指针地址、解引用、数组退化、指针运算、二级指针、函数指针、void*C语言指针细节
结构体struct、成员访问、初始化、内存对齐、和 C++ struct 的区别C语言结构体
联合体union、共享存储、带标签联合体、有效成员C语言联合体
位域位宽成员、标志位、实现相关布局、掩码替代方案C语言位域
存储和链接autostaticexternregistervolatile 的边界C语言存储类型
调用机制栈帧、参数传递、返回地址、局部变量生命周期、递归C语言系统栈与过程调用
堆内存malloccallocreallocfree、泄漏、悬挂指针C语言MallocFree
标准库stdio.hstdlib.hstring.hstdint.hc语言常用库
C 风格设计结构体 + 函数、回调、void*、不完整类型C语言设计

和 CandCPP 基础的关系

深入边界

这些内容适合按需查阅,不建议在刚入门时一次性死记:

学习路径