Ваш массив огромен.
Возможно, ваша машина или ОС не имеют или не хотят выделять столько памяти.
Если вам абсолютно необходим огромный массив, вы можете попытаться выделить его динамически (используя malloc(...)
), но тогда вы рискуете потерять память. Не забудьте освободить память.
Преимущество malloc в том, что он пытается выделить память в куче, а не в стеке (поэтому вы не получите переполнение стека).
Вы можете проверить значение, которое возвращает malloc, чтобы увидеть, было ли выделение успешным или неудачным.
Если это не удается, просто попробуйте распределить массив меньшего размера.
Другим вариантом может быть использование другой структуры данных, которая может быть изменена на лету (например, связанный список). Хорош ли этот вариант, зависит от того, что вы собираетесь делать с данными.
Еще один вариант - хранить вещи в файле, передавая данные на лету. Этот подход самый медленный.
Если вы собираетесь хранить данные на жестком диске, вы также можете использовать существующую библиотеку (для баз данных)