C++/代码:块内存问题
C++ / Code:Blocks issue with memory
我在编译此代码时出错:
int i[720][720];
错误:进程返回 -1073741571 (0xC00000FD)。
如果我声明以下情况是可以的:
int i[719][719];
会发生什么?
编辑:
还行。。。我确实像你说的那样。它现在有效。我试图从这里更正乘以大数的代码。
我也必须改变
if(carry < 10){
mat[i][j-(SIZE-1-i)]=carry;
carry=0;
}
自
if(carry < 10){
if (j-(SIZE-1-i) < 0) continue;
mat[i][j-(SIZE-1-i)]=carry;
carry=0;
}
错误是数组太大,无法将其存储在编译器的标准堆栈空间中。您可以尝试在在线 Codechef 编译器上编译代码。它具有非常大的堆栈容量。链接是:https://www.codechef.com/ide
或者,当然,您可以使用std::vector
向量或使用 new
关键字动态分配数组(不是很强烈推荐)。
您的堆栈太小,您应该改用动态分配(例如 std::vector
或new
)。如果要继续使用堆栈分配,可以在编译器选项或命令行中增加堆栈大小(取决于您未声明的编译器)。
为什么要
创建这种大小的数组?要使其内存效率更高,请尝试使用使用关键字 new
声明的动态数组。示例:myArray = new int [10]
它们可以根据您的需要及其内存效率进行扩展。
相关文章:
- C++ 中 std::vector 的内存问题
- 实现快速排序的内存问题
- 此add_node函数会导致内存问题吗?
- C++:为什么这段代码给我内存问题/未定义的行为?
- 我不明白附加字符串的内存问题
- 是否有可能存在不会崩溃程序的内存问题
- 在发布版本中删除类指针会导致内存问题
- Android OpenCV 应用程序的内存问题
- 线程的内存问题(微小线程,C++)
- 递归结构的向量有内存问题
- C++合并排序内存问题
- 将智能指针发送到Protobaf.内存问题
- 潜在的动态内存问题
- JNI 中的内存问题
- C++Lambda函数关闭-内存问题
- 解决由全局静态变量引起的内存问题
- 类堆栈内存问题(致命错误)
- QNetworkAccessManager内存问题
- 读取进程内存问题未更新
- 类指针内存问题