我有一個程序問題,我想在C中聲明一個256x256數組。不幸的是,每次我嘗試甚至聲明一個數組的大小(整數),並且運行我的程序時,它意外終止。有什麼建議麼?我沒有嘗試過內存分配,因爲我似乎無法理解它如何與多維數組一起工作(儘管我是C新手,但可以隨時指導我完成)。另一個值得注意的事情是我可以用C語言聲明一個248x248的數組,但沒有任何問題,但不會更大。爲什麼248x248是我可以聲明的最大二維數組大小?
dims = 256;
int majormatrix[dims][dims];
編譯時:
gcc -msse2 -O3 -march=pentium4 -malign-double -funroll-loops -pipe -fomit-frame-pointer -W -Wall -o "SkyFall.exe" "SkyFall.c"
我使用賽特323(不知道如何檢查GCC版本)。
你應該可以這樣做,除非你使用的是舊編譯器(?!)(我在Windows上測試過,它的堆棧大小爲1MB)。 – nhahtdh
你可能會通過在本地聲明堆棧來炸燬你的堆棧。對於大多數機器來說,這本身並不是一個巨大的陣列。關於如何聲明和使用動態分配的二維數組,有許多答案。搜索一下。 – Duck
你可以發表你如何初始化數組的代碼示例嗎? –