【待处理】C++运行时数据的存储 存储堆栈

简介编译后程序运行时在内存中的堆栈分布https://blog.csdn.net/a514371309/article/details/77987349 按照错误提示我们可以知道该错误是“栈溢出”,回头一看可能出错的地方也就是在定义数组的地方了,当把预定义的数组大小改成10000之后,程序居然可以运行了,由此看来是我们定义的数组太大了,所以在定义数组的时候一定要谨记千万别太大,如果非要用容量比较大的数组的话建议可以使用new进行分配,然后在函数返回时记得d
编译后程序运行时在内存中的堆栈分布https://blog.csdn.net/a514371309/article/details/77987349



按照错误提示我们可以知道该错误是“栈溢出”,回头一看可能出错的地方也就是在定义数组的地方了,当把预定义的数组大小改成10000之后,程序居然可以运行了,由此看来是我们定义的数组太大了,所以在定义数组的时候一定要谨记千万别太大,如果非要用容量比较大的数组的话建议可以使用new进行分配,然后在函数返回时记得delete就行了。

原因是Stack上存不了那么大的数据,分配时造成堆栈溢出。

然后在网上找到一个办法:

使用 new 分配内存
Student * stu = new Student[10000];
新加评论 评论标题: