目录
一、什么是野指针
二、野指针的成因
2.1 指针未初始化
2.2 指针越界访问
2.3 指针指向的空间释放
三、如何规避野指针
3.1 初始化指针
3.2 小心越界访问
3.3 当指针不用时,及时置为空
3.4 避免返回局部变量的地址
*结语:
希望这篇关于指针基础知识的博客能对大家有所帮助,欢迎大家在本篇博客下留言或私信与我交流!
一、什么是野指针
指针指向的位置是随机的,不正确的,没有明确限制的。
二、野指针的成因
2.1 指针未初始化
- p为野指针,指向的位置是随机的
2.2 指针越界访问
- p越界访问,指向的地址是不正确的,解引用得出的值也是随机的
2.3 指针指向的空间释放
三、如何规避野指针
3.1 初始化指针
(1)当明确知道指针要指向谁时
int* p=&a;
(2)当不知道指针要指向谁时,置为空
int* p=NULL;
3.2 小心越界访问
3.3 当指针不用时,及时置为空
3.4 避免返回局部变量的地址
(对应野指针成因的第三个例子)
*结语:
希望这篇关于指针基础知识的博客能对大家有所帮助,欢迎大家在本篇博客下留言或私信与我交流!