C 指针
指针存储变量或对象的内存地址,是 C 语言的核心特性之一。本章系统介绍指针的声明、解引用、指针算术、指向数组/函数/结构体的指针等。
1. 基本概念
2. 空指针与野指针
- 空指针:
NULL或nullptr(C23) - 野指针:未初始化或悬空(指向已释放内存)
3. 指针与数组
4. 指针算术
- 对
T*指针加减 n,会跳过n * sizeof(T)字节 - 仅在同一数组(或尾后位置)范围内进行算术是定义良好的
5. 多级指针
6. 指向函数的指针(预告)
详见“函数指针与回调函数”章节。
7. 指向结构体的指针与 ->
8. const 与指针
const int *p:指向常量的指针(不能改所指对象)int *const p:常量指针(指针本身不可改)const int *const p:两者皆不可改
9. 常见陷阱
- 返回局部变量地址
- 解引用空/野指针
- 越界访问
10. 小结
指针强大但也危险,务必初始化、边界检查、搭配内存管理与所有权习惯使用。