-1
我试图做一个一维数组在C 89401个元素:抛出异常错误
double **A = (double**)malloc(89401*sizeof(double*));
for (i = 0; i<89401; i++)
A[i] = (double*)malloc(89401*sizeof(double));
但我不断收到此错误:
Exception thrown at 0x003F61E0 in final project 2.exe: 0xC0000005: Access violation writing location 0x00000000.
我不能找出问题所在。我在网站上搜索了以前提出的问题,但没有一个对我有所贡献。
如果有这种异常的处理程序,程序可能会安全地继续。
在尝试将某个元素指定给它所指向的元素之前,请检查'A'是否不是'NULL'。 – MikeCAT
如果'sizeof(double)'是8,这将需要大约59.5GB的内存。你的系统有足够的RAM(+ swap)来存储这些大数据吗? – MikeCAT
**始终**检查与程序执行相关的功能错误结果。另外,不要在C中一般投放'malloc'&friends或'void *'的结果! – Olaf