关于网友提出的“ 请教各位高手,free函数中程序崩溃”问题疑问,本网通过在网上对“ 请教各位高手,free函数中程序崩溃”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 请教各位高手,free函数中程序崩溃描述:
在VC6.0环境下,用C语言编写console application,使用函数malloc给一个结构体变量申请内存,进行若干操作(包括读和写)后,用free函数释放。执行free()函数时得到如下错误:
DAMAGE:After normal block(#33) at 0x004c0ca0
看起来好像是操作内存是导致释放内存所需要的数据被破坏了,但是我找不到出错的原因,只是在去掉一个向结构体中的字符赋值的语句以后,错误不再出现,我开始猜测是对齐引起的,但是将结构中的数据改为int型之后,错误依旧。哪位高手能够告诉我这个错误的原因是什么,多谢了!!
另外,在windows下,分配和回收内存是不是有更安全的函数?请高手告知,谢谢!
解决方案1:
After normal block(#33) at 0x004c0ca0
源代码也DAMAGE了. ^_^
代码呢??