I am getting runtime error when I used array of size 10^5*10^5 (ex. int a[100000][100000]
. As this array is consuming more memory, this may be one one of the reason
Three ways to declare the large array int a[100000][100000]
are:
Make the large array static
:
static int a[100000][100000];
Use malloc
/calloc
and dynamically allocate the large array:
int **a;
a=malloc(sizeof(int*)*100000);
for(int i=0;i<100000;i++)
a[i]=malloc(sizeof(int)*100000);
/*Use the array*/
for(int i=0;i<100000;i++)
free(a[i]);
free(a);