HEAP COPRUPTION DETECTED:CRT detected that the application wrote to memory after end of heap buffer

项目场景:学校实验

某次做学校实验的过程中发现的bug,一不小心就debug了一天????????????


问题描述:HEAP COPRUPTION DETECTED:CRT detected that the application wrote to memory after end of heap buffer

HEAP COPRUPTION DETECTED:CRT detected that the application wrote to memory after end of heap buffer

HEAP COPRUPTION DETECTED:CRT detected that the application wrote to memory after end of heap buffer
(注:由于我的文件太庞大,所以换成下面简单代码展示改错误)
HEAP COPRUPTION DETECTED:CRT detected that the application wrote to memory after end of heap buffer


原因分析:修改了不属于你的内存区段

我的错误就是在于申请数组只申请了6个int的大小,读写数组的时候越界修改堆空间 也就是如红叉对话框中的提示所言: CRT检测到应用程序对堆内存块末尾进行写入操作,也就是"修改了不属于你的内存区段" ,所以程序就直接崩溃了!!!

解决方案:谨慎利用堆空间,一定要小心谨慎

避免数组越界就行了,谨慎利用堆空间,一定要小心谨慎!!???????????? 还有一个问题就是我对q[6]进行修改一定会弹出这个红叉,但是不对q[6]修改就只爆出异常,没有这个红叉,现在也没懂这个原因。。。