C语言野指针【入门详解】

目录

一、什么是野指针

二、野指针的成因

[2.1 指针未初始化](#2.1 指针未初始化)

[2.2 指针越界访问](#2.2 指针越界访问)

[2.3 指针指向的空间释放](#2.3 指针指向的空间释放)

三、如何规避野指针

[3.1 初始化指针](#3.1 初始化指针)

[3.2 小心越界访问](#3.2 小心越界访问)

[3.3 当指针不用时,及时置为空](#3.3 当指针不用时,及时置为空)

[3.4 避免返回局部变量的地址](#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 避免返回局部变量的地址

(对应野指针成因的第三个例子)


*结语:

希望这篇关于指针基础知识的博客能对大家有所帮助,欢迎大家在本篇博客下留言或私信与我交流!

相关推荐
_深海凉_2 分钟前
LeetCode热题100-除了自身以外数组的乘积
数据结构·算法·leetcode
Kk.080235 分钟前
项目《基于Linux下的mybash命令解释器》(一)
前端·javascript·算法
爱编码的小八嘎39 分钟前
C语言完美演绎8-2
c语言
SteveSenna1 小时前
Trossen Arm MuJoCo自定义1:改变目标物体
人工智能·学习·算法·机器人
yong99901 小时前
IHAOAVOA:天鹰优化算法与非洲秃鹫优化算法的混合算法(Matlab实现)
开发语言·算法·matlab
米粒12 小时前
力扣算法刷题 Day 42(股票问题总结)
算法·leetcode·职场和发展
zopple2 小时前
汇编、C、C++和Java核心技术对比
c语言·汇编·c++
leaves falling4 小时前
C/C++ 的内存管理,函数栈帧详讲
java·c语言·c++
浅念-4 小时前
从LeetCode入门位运算:常见技巧与实战题目全解析
数据结构·数据库·c++·笔记·算法·leetcode·牛客
CoovallyAIHub4 小时前
无人机拍叶片→AI找缺陷:CEA-DETR改进RT-DETR做风电叶片表面缺陷检测,mAP50达89.4%
算法·架构·github