C指针程序 为什么总崩溃?

C指针程序 为什么总崩溃?,第1张

因为你的default:cout<<" input 1 , 2 , 3 \n"break没跳出, 后面的P指针式错误的 A*p = NULLif(p) { cout<<p->show()<<endldelete p }

错误原因,指针b没有赋予初值,b指向哪里了?他是一个野指针。

               把它作为函数的实参传递给函数real是有问题。

指针悬空后,如果一直被弃置不用除了一些内存被无缘无故的被占用外,

不会有其他不好的影响。

但是一旦一个指向未知的指针被程序调用,并且进行了写 *** 作,这就有危险了。

如果这个指针指向了系统核心进程那么这个进程有可能引意外的写 *** 作而异常进而导致系统崩溃,更可怕的是,如果这个指针如果指向了硬件驱动,如打印机、内存、CPU调度或温度控制。

那后果就是硬件的损毁。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11085104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存