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

2024-11-17 00:25:03
推荐回答(4个)
回答(1):

指针悬空后,如果一直被弃置不用除了一些内存被无缘无故的被占用外,
不会有其他不好的影响。
但是一旦一个指向未知的指针被程序调用,并且进行了写操作,这就有危险了。
如果这个指针指向了系统核心进程那么这个进程有可能引意外的写操作而异常进而导致系统崩溃,更可怕的是,如果这个指针如果指向了硬件驱动,如打印机、内存、CPU调度或温度控制。
那后果就是硬件的损毁。

回答(2):

悬空指针指的是定义指针变量时未置NULL
野指针指的是使用完指针后未置NULL
就这两种情况而言其实并不危险,危险的是你的使用初衷和你代码表达的意思相违背
如果做到了以上两句,那么你每次使用指针前,只需要判断指针是否为NULL从而可知是否为合法指针
非合法指针自然导致程序崩溃或隐藏危险,如果崩溃那你就要谢天谢地了,如果隐藏危险,那就相当于你的程序得了神经病,让你抓狂...

回答(3):

指针变成NULL后,没有指向具体的内存,如果要通过这个指针访问内存的话,系统会找不到应有的内存,就会崩溃啊

回答(4):

楼主你这个是野指针的问题,如果你想释放掉指针开辟的空间,可以使用free(point)释放,然后point=NULL,也就是楼主所说的指针悬空,这样系统就不会出现问题了!