.jpg)
书: https://pan.baidu.com/s/1jDVnfhmGRwu5jeEuV63Kcg?pwd=bmyj
笔记如下:
- C语言核心语法:涵盖变量、数据类型、运算符、表达式、控制流等基础语法规则。
- 指针深入解析:指针运算、多级指针、函数指针及其在内存管理中的应用。
- 内存管理机制:动态内存分配(
malloc
/calloc
/realloc
/free
)及常见错误(内存泄漏、悬垂指针)。 - 数组与字符串:一维/多维数组操作,字符串处理函数(
strcpy
/strcat
/strcmp
)及安全问题。 - 结构体与联合体:自定义数据类型定义与使用,内存对齐(
#pragma pack
)问题。 - 文件操作:文本与二进制文件的读写(
fopen
/fread
/fwrite
),文件指针定位(fseek
)。 - 预处理器与宏:宏定义(
#define
)、条件编译(#ifdef
)、#include
机制及宏的高级用法。 - 函数与递归:函数声明与定义、参数传递(值传递、地址传递)、递归调用与栈帧分析。
- 位操作与位域:位运算(
&
/|
/^
/~
/<<
/>>
)及位域在寄存器操作中的应用。 - 标准库函数:
stdio.h
、stdlib.h
、string.h
等常用库函数的使用与实现原理。 - 多文件编程:头文件(
.h
)与源文件(.c
)的组织,extern
关键字的作用。 - 错误处理:
errno
全局变量、perror
函数及自定义错误处理机制。 - C11/C17新特性:泛型选择(
_Generic
)、原子操作(<stdatomic.h>
)、线程支持(<threads.h>
)。 - 性能优化技巧:内联函数(
inline
)、循环优化、缓存友好代码设计。 - 安全编程实践:缓冲区溢出防护(
strncpy
)、输入验证、防御性编程。 - 底层硬件交互:
volatile
关键字、内存映射I/O、内联汇编(asm
)的基本用法。 - 数据结构实现:链表、栈、队列、哈希表等基础数据结构的C语言实现。
- 跨平台开发:处理字节序(Endianness)、字长差异(
int32_t
)、编译器兼容性问题。 - 调试与测试:
assert
宏、gdb
调试工具、单元测试框架(如Unity
)的使用。 - 项目实战案例:综合应用核心知识实现小型系统(如学生管理系统、简易计算器)。