In che modo posso dare un valore molto elevato al numero di colonne di questa matrice (es. 100000) senza che in esecuzione abbia un segmentation fault? 
codice:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void){
int*pos = NULL, r=0, c=0, t=0;
int i, j;
printf("Inserisci il numero di colonne: ");
scanf("%d",&c);
printf("Inserisci il numero di righe: ");
scanf("%d",&r);
pos =(int*)calloc(r*c,sizeof(int));
srand48(time(0));
for(i=0; i<r; i++){
for(j=1; j<c; j++){
if(((double)lrand48()/RAND_MAX)>0.5){
(*(pos+c*i+j))=(*(pos+c*i+(j-1)))+1;
}
else(*(pos+c*i+j))=(*(pos+c*i+(j-1)))-1;
}
}
}