Поскольку Turbo C / C ++ - это 16-битный тип данных компилятора, потребляет около 2 байтов. 2 байта * 2000000 = 40 000 000 байтов = 3.8147 МБ пространства.
Автоматические переменные функции хранятся в стеке, и это вызвало переполнение памяти стека. Вместо этого используйте память данных [с использованием статической или глобальной переменной] или динамическую память кучи [с помощью malloc / calloc] для создания необходимой памяти в соответствии с доступностью отображения памяти процессора.
в быстрый 5 можно использовать суффикс для, получают объекты от последнего префикса, и префикс использования для получают объекты сначала, вот пример:
let exampleArray = ["first text", "second text", "third text"]
let arr1 = exampleArray.suffix(2) // ["second text", "third text"]
let arr2 = exampleArray.prefix(2) // ["first text", "second text"]
результатом является часть, но можно принудить его к Массиву, если Вы должны.