gpt4 book ai didi

c - 这个数组可以用C语言实现吗?还有其他办法吗?

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

我在 C 中声明了一个大小为 150X150X150 的数组。在编译程序以获得相同大小的数组时,编译器没有给出错误或警告。但是当我尝试运行它时,程序停止响应。

void main(){
int i,j,k;
char giv[150][150][50],tar[150][150][50];
for(int i=0;i<150;i++)
{
for(j=0;j<150;j++)
{
for(k=0;k<50;k++)
cin>>giv[i][j][k];
}
}
}

有什么方法可以创建 150*150*150 的数组而不导致运行时错误?编辑:我知道多维数组可以工作。这不是编译错误。这是一个运行时错误,其原因是我无法查明。

最佳答案

您刚刚在堆栈上声明了两个数组。

每个数组的大小:150 * 150 * 50 字节,或约 1.1MB。
因此您需要从堆栈中请求 2.2MB。

典型的堆栈大小约为 1 或 2MB。

所以我预计您会收到 StackOverflow 异常。
(有点适合这个网站)

关于c - 这个数组可以用C语言实现吗?还有其他办法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28771178/

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