请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

搜了一下

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

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

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

正在回答

2回答

李超 2018-09-19 04:16:59

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

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

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

2 回复 有任何疑惑可以回复我~
  • 提问者 wangzhumo #1
    还是认识的不清楚。算了,后面再看吧。
    
    那么现阶段,要注意的是
    
    - 指针必须初始化
    - free掉指向后还要把指针自己置NULL
    回复 有任何疑惑可以回复我~ 2018-09-19 22:31:51
  • 李超 回复 提问者 wangzhumo #2
    是要有一个过程,在写程序的时候不断体会。现在的所有知识只是我告诉你的,要自己学习后多练习,多思考。什么时候你自己有了这个体会,才是真搞明白了。
    回复 有任何疑惑可以回复我~ 2018-09-24 03:54:01
李超 2018-09-19 04:19:34

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

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信