vs运行程序时报错:“XXX处有未经处理的异常: 0xC0000374: 堆已损坏”

  使用vs运行程序时我们有时候会看到这样的一个错误:“XXX处有未经处理的异常: 0xC0000374: 堆已损坏”。导致该错误产生的原因一般是是访问了未分配的地址,内存越界造成的,越界写了不该写的内存区域。

示例:有如下程序。 

#include <stdio.h>
#include <string.h>

int main()
{
	char *str = new char[1];
	strcpy(str, "hello world");
	printf("str:%s\n", str);
	return 0;
}

编译,运行,我们会发现程序报错了,如下图所示:

发布了54 篇原创文章 · 获赞 55 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/u014552102/article/details/89893778