Я не уверен, насколько «ясно» вы на самом деле собираетесь не использовать всю память , доступную вашей программе . Если я правильно понял, в итоге вы получите 333 833 185 дублей. При восьми байтах каждый, это более 2,5 ГБ.
Не уверен, сколько доступно для средств управления памятью вашего компилятора C ... почему бы не написать простую программу, которая обнаружит, какой самый большой объем памяти вы можете использовать malloc ()?