关于野指针,没有明白什么意思

来源:4-10 再论C语言指针

wangzhumo

2018-09-19

搜了一下

野指针 : 随机指向一块内存的指针成为野指针。

我能明白这个指针如果指向了其他进程的内存空间,
或者指向了栈里面的空间,随着函数出栈会随之销毁.
此时访问则必然访问失败.

但是不知道什么叫随机指向一块内存…???
有什么讲这个的资料么??

写回答

2回答

李超

2018-09-19

野指针是C语言开发术语,意思是指,一个指针变量一开始指向的是有效地址,后来由于各种原因,指向了“无效地址”。此时你(的程序)已经无法控制它,我们称这样的指针为野指针。出现野指针很麻烦,他会引起各种莫名其妙的程序崩溃。在DOS这种对进程间隔离不好的操作系统中,还会影响其他程序。这也是当时黑客的主要攻击手段哈!在现在的操作系统中,由于改变了进程的管理方式,所以不会对其他进程产生影响,只会影响你自己的程序。

一般解决崩溃的办法是通过调试器分析 dump 文件,基本上能解决90%的这类问题。

所以C程序,一定要在写程序时养成好习惯,避免野指针的出现。

2
2
李超
回复
wangzhumo
是要有一个过程,在写程序的时候不断体会。现在的所有知识只是我告诉你的,要自己学习后多练习,多思考。什么时候你自己有了这个体会,才是真搞明白了。
2018-09-24
共2条回复

李超

2018-09-19

这里指的随机就是不受程序控制了,你也不清楚它跑到哪儿去了的意思。

0
0

经典再升级-FFmpeg5.0核心技术精讲,打造音视频播放器

学好FFmpeg核心技术,做高效,高薪,有竞争力的音视频工程师

2726 学习 · 814 问题

查看课程