如何使用C创建大型二维数组

如何使用C创建大型二维数组,c,C,我想要一个大的二维数组,比如 int myArray[10000][2]; 我被告知以这种方式构建的数组不合适,应该使用malloc在堆中构建。有人能告诉我如何做到这一点吗?谢谢 #包括 #include <stdlib.h> //alloc int **vv = malloc(2 * sizeof(int *)); for(int i = 0; i < 2; i++) vv[i] = malloc(10000 * sizeof(int)); int**vv=ma

我想要一个大的二维数组,比如

int myArray[10000][2];
我被告知以这种方式构建的数组不合适,应该使用malloc在堆中构建。有人能告诉我如何做到这一点吗?谢谢

#包括
#include <stdlib.h>
//alloc

int **vv = malloc(2 * sizeof(int *));
for(int i = 0; i < 2; i++)
   vv[i] = malloc(10000 * sizeof(int));
int**vv=malloc(2*sizeof(int*);
对于(int i=0;i<2;i++)
vv[i]=malloc(10000*sizeof(int));
//免费

for(int i = 0; i < 2; i++)
    free(vv[i]);
free(vv);
for(int i=0;i<2;i++)
自由(vv[i]);
免费(vv);
#包括
//alloc

int **vv = malloc(2 * sizeof(int *));
for(int i = 0; i < 2; i++)
   vv[i] = malloc(10000 * sizeof(int));
int**vv=malloc(2*sizeof(int*);
对于(int i=0;i<2;i++)
vv[i]=malloc(10000*sizeof(int));
//免费

for(int i = 0; i < 2; i++)
    free(vv[i]);
free(vv);
for(int i=0;i<2;i++)
自由(vv[i]);
免费(vv);

可能的重复您可能想看看可能的重复您可能想看看Hi jace,谢谢。那么,阵列应该称为vv还是vv2?因为你有*vv2,然后是vv[i]。这是vv,我可以用vv[0][0]来指代第一个插槽吗?Thanksaddress系列:vv[0][0]-vv[1][9999]有效,谢谢。那么,阵列应该称为vv还是vv2?因为你有*vv2,然后是vv[i]。这是vv,我可以用vv[0][0]来指代第一个插槽吗?感谢您的支持范围:vv[0][0]-vv[1][9999]有效