是否可以在堆上分配數組,即使它在函數內部有作用域?這裏是我的C程序:如何在函數內部分配大尺寸數組(在堆上使用動態內存分配)
void SimpleTextEditor()
{
char textEditor[1000000];
char operationText[1000002];
//do something with the arrays
}
這導致stackoverflow例外,顯然是因爲我想分配兩個大尺寸數組。如果我將任何一個數組移動到函數外部並使其成爲全局變量(文件級變量),那麼它將在全局變量分配到堆上時起作用。
但我不想讓我的變量全局。是不是可以使用malloc和calloc爲數組動態分配內存?
'字符*文本編輯=的malloc(1000000);'...'免費(文本編輯);' –
您可以用'static'? –
「......因爲全局變量被分配在堆上」 - 你從哪裏得到這個想法? – AnT