繁体   English   中英

二维数组 100x100 堆栈溢出; 堆上没有错误。 C++

[英]2D array 100x100 stack overflow; no error on heap. c++

我通过执行以下操作在堆栈上创建了一个二维数组:

    grid gridArray[100][100] = {{}};

但是,我得到了堆栈溢出。

auto gridArray = new grid[100][100]();

如果我把它放在堆上,我不会收到错误。

我不完全知道这是为什么; 堆栈无法分配与堆一样多的内存吗? 我现在这样做有什么危险吗?

谢谢。

我不完全知道这是为什么; 堆栈无法分配与堆一样多的内存吗?

就是这样。 堆栈空间有限。 根据经验,如果您有超过几 KB 的数据,您应该使用堆。

请参阅: 堆栈和堆是什么以及在哪里?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM