2D阵列100x100堆栈溢出;堆上没有错误.c++

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

本文关键字:有错误 c++ 阵列 100x100 堆栈 栈溢出 2D      更新时间:2023-10-16

我在堆栈上做了一个2D数组:

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

然而,我得到了一个堆栈溢出。

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

如果我把它放在堆里,我不会出错。

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

谢谢。

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

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

请参阅:堆栈和堆在什么地方?