编c语言时,为何指针悬空后,系统会崩溃?

已举报 回答 关注
编c语言时,为何指针悬空后,系统会崩溃?
问在线客服
扫码问在线客服
  • 回答数

    6

  • 浏览数

    4,037

6个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
指针悬空后,如果一直被弃置不用除了一些内存被无缘无故的被占用外,
不会有其他不好的影响。
但是一旦一个指向未知的指针被程序调用,并且进行了写操作,这就有危险了。
如果这个指针指向了系统核心进程那么这个进程有可能引意外的写操作而异常进而导致系统崩溃,更可怕的是,如果这个指针如果指向了硬件驱动,如打印机、内存、CPU调度或温度控制。
那后果就是硬件的损毁。
取消 评论
指针未分配空间就是这样,你定义了2个指针变量,没给它分配空间,这指针指在那里呢?
取消 评论
申请内存啊!!!没内存怎么弄。
你还不如直接弄数组 char a[];
取消 评论
楼主你这个是野指针的问题,如果你想释放掉指针开辟的空间,可以使用free(point)释放,然后point=NULL,也就是楼主所说的指针悬空,这样系统就不会出现问题了!
取消 评论
指针变成NULL后,没有指向具体的内存,如果要通过这个指针访问内存的话,系统会找不到应有的内存,就会崩溃啊
取消 评论
悬空指针指的是定义指针变量时未置NULL
野指针指的是使用完指针后未置NULL
就这两种情况而言其实并不危险,危险的是你的使用初衷和你代码表达的意思相违背
如果做到了以上两句,那么你每次使用指针前,只需要判断指针是否为NULL从而可知是否为合法指针
非合法指针自然导致程序崩溃或隐藏危险,如果崩溃那你就要谢天谢地了,如果隐藏危险,那就相当于你的程序得了神经病,让你抓狂...
取消 评论
ZOL问答 > 编c语言时,为何指针悬空后,系统会崩溃?

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?