出现错误-10737418190xC0000005-在特定数字后使用矩阵

问题描述

所以我的任务是编写一个模拟covid-19病假机会的程序。这是大学的任务,而不是工作。

我试图注释我的代码,以使所有人都可以阅读。

我的主要问题是,例如,当我将L的值更改为大于80的数字时,我会得到错误代码:-1073741819(0xC0000005)。

老师期望的数字是150,所以矩阵150 * 150 = 22500

代码的基本作用: 它会发现一个随机的行和列=随机的人,并检查他是否对病毒敏感(数字= 0)或是否已经生病(数字= 1)。

如果他敏感,我们会生成一个随机数,然后将其与Gamma或Beta的数量进行比较,这取决于我们是否要治愈他或让他生病。

对于我对stackoverflow的评论,我发现可能必须使它成为一个动态矩阵,但是我不知道该怎么做,因为当我尝试将其更改为以下内容时:

background-color: cadetblue

由于我不知道如何再引用矩阵的元素,所以我得到了更多错误。

我当前正在使用Code :: Blocks + GNU GCC编译器。

int *nepesseg= (int *)malloc(L*L* sizeof(int));

解决方法

0xC0000005异常与我认为您正在使用的MS-WIN系统上的内存冲突有关。

关于代码,我看不到任何形式上的错误。无论如何,将大型数组分配为自动变量,将声明移至main函数之外或像static中那样用static int population[L][L];修饰符作为前缀不是一个好主意。

无论如何,在我的系统上以L触发最多500个内存异常并分配了1MB堆栈空间真的很奇怪。

问题可能出在您使用的编译器分配的堆栈空间太小。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...