Col compilatore MinGW riesco a dichiarare un array di interi che è mille volte piu grande di quello che dichiari te:

int array1[4][7][5000][1000];


col borland regge fino a int array1[4][7][5000][100] mentre se dichiaro int array1[4][7][5000][1000] il compilatore stesso ha un errore fatale di out of memory durante la compilazione...

senza che il programma si blocchi...