Qt5.9Creator内存不足,出现程序卡死,提示:.exe程序已停止工作
本文主要总结在Qt5.9Creator编译器下,由于指针变量创建的内存不足,出现程序卡死的问题和解决办法。
1.1程序出现的错误提示:.exe程序已停止工作
我创建了一个整形变量的指针*a(int *a = new int;),我需要用指针变量*a存储16个组数组,但是程序一执行到指针变量*a这里,就会出现错误,错误提示为::.exe程序已停止工作,具体如下图所示:
指针内存不足,程序执行后卡死图
1.2解决办法
将指针变量*a的定义更改为:int *a = new int[16]; 再次构建执行后,程序运行到指针变量*a这段代码也不会出错,具体的如下图所示:
将指针变量定义为int *a = new int[16];的正确用法图
其实我之前的错误是在:创建指针变量*a时,需要指定具体创建的内存个数。具体的指针变量*a的正确用法和错误用法总结如下:
int *a = new int[16]; //正确用法,指明创建的int内存数为16个
int *a = new int; //错误用法,没有指明创建的内存个数是多少
参考内容:
http://blog.sina.com.cn/s/blog_7364de350102vrqs.html