Можно ли выделить массив в куче, даже если он ограничен внутри функции? Вот моя C программа:Как выделить массив большого размера (используя динамическое распределение памяти в куче) внутри функции
void SimpleTextEditor()
{
char textEditor[1000000];
char operationText[1000002];
//do something with the arrays
}
Это приводит к исключению StackOverflow по очевидной причине, что я пытаюсь выделить два больших размеров массивов. Если я перемещаю любой из массивов вне функции и делаю ее глобальной (переменная уровня файла), то она работает, поскольку глобальные переменные выделяются в куче.
Но я не хочу, чтобы мои переменные были глобальными. Невозможно ли распределить память динамически для массивов с помощью malloc и calloc?
'обугленного * TextEditor = таНос (1000000)' ... 'свободный (текстовый редактор);' –
Вы можете использовать 'static'? –
«... как глобальные переменные выделяются на кучу» - откуда у вас появилась эта идея? – AnT