定义一个大数组的方法:
在网易笔试题中需要定义一个int型的1000000*1000000数组,这个数组已经超过了栈的大小,无法在栈中直接定义
问题描述:
在网易笔试题中需要定义一个int型的1000000*1000000数组
int a[1000000][1000000]; //会报错数组太大
解决方案:
利用malloc定义二维数组
int **p = (int**)malloc(sizeof(int) * 1000000);
for (int i = 0; i < 1000000; i++)
{
p[i] = (int*)malloc(sizeof(int) * 1000000);
}
p[500000][500000] = 1;
这篇博客主要介绍了如何在C语言中解决定义超大数组的问题,特别是在遇到超过栈容量限制时,通过动态内存分配函数malloc来创建一个1000000*1000000的int型二维数组。
669

被折叠的 条评论
为什么被折叠?



