野指针:指针指向的位置是 不可知的 , 随机的, 不正确的, 没有明确限制的。
野指针形成原因:
1,指针未初始化(例 int* p;)
2,指针越界访问 (当指针指向的范围超出arr的范围时,p就是野指针)
arr[10]={0};
int* p=arr;
for(i=0;i<15;i++)
{*(p++)=i;}
3.指针指向的空间释放
释放并不是把该空间里所存放的数据全部清空置零,而是把该空间还给操作系统了,也就是说该空间已经不是你所拥有的了。
如何避免野指针?
1,指针初始化;
2,小心指针越界;
3,使用完指针后(释放空间后)及时将指针置零(赋值NULL)
4,指针使用之前检查其有效性;ps:
空指针
如果给指针初始化时候把NULL赋值给指针,那么这个指针就会变成空指针,
注意!!!!此时如果想打印出空指针,结果为0x00000000,但是!!!!!这里的空指针表示的是不指向任何有效空间,而不是表示指向0x00000000,所以此时对空指针解引用操作时系统 会报错,此时访问空间就无意义了!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异