如果你想使用大數組,有三個方法。
1.把它放在主函數外面,用全局變量。全局變量是放在數據區的,空間足夠你使用。例如
int m[10000000];
int main()
{
XXX;
}
你這樣使用,絕對不會再有問題了,可以正常工作。
2. 使用new 或者malloc 動態分配內存,動態分配的內存是在堆中的,堆的空間很大,也足夠你使用。例如:
int main()
{
int *m;
m = (int*)malloc(10000000 * sizeof(int));
XXX;
free(m);
}
這樣也是可以正常運行的,使用堆來分配大數組一定要記得最後free 或者delete 掉你申請的空間,不然會泄漏大量內存。
3. 可以在函數裏面用靜態數組,靜態數組類似於全局變量,會被放在數據區,也可以避免棧空間的耗盡。
int main()
{
static int m[1000000];
}