gpt4 book ai didi

c - 堆问题,PC 卡住

转载 作者:行者123 更新时间:2023-11-30 20:06:19 25 4
gpt4 key购买 nike

我正在处理一个动态分配的矩阵。特别是我有这个代码(C 语言):

int i, n, m;
char **matrix;
matrix = (char **)calloc((n, sizeof(char *));
for (i = 0; i <= n; ++i) {
matrix[i] = (char *)calloc(m, sizeof(char))
}

如果“n”足够小,程序运行良好,但如果我大幅增加它(例如,我取一个接近常量 INT_MAX 的值,在我的例子中 INT_MAX 为 2.147.483.647),我的电脑就会卡住,我必须重新启动它。我想这个问题与堆最大大小有关。有可能以某种方式阻止它吗?或者您是否建议对 'n' 的增长设置一个合理的上限?

提前致谢!

最佳答案

INT_MAX 是 2GB 内存。每行都使用了那么多内存,因此您的矩阵超出了内存容量。

关于c - 堆问题,PC 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25755568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com