作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。一、应用程序没有检查内存分配失败
下面学习啦小编就为大家分析这种错误的常见原因及解决方法,欢迎大家参考和学习。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。
程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。使用Windows操作系统的人有时会遇到这样的错误信息:“0X????????指令引用的0x00000000内存,该内存不能为read或written”,然后应用程序被关闭。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。常见故障原因:
这就是“动态内存分配”,内存地址也就是编程中的“指针”。其实,这个错误并不一定是Windows不稳定造成的。
完整原文网址:http://www.xuexila.com/diannao/jiqiao/304463.html