[問題] 關於陣列過大的問題
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)陣列過大
希望得到的正確結果:
程式跑出來的錯誤結果:造成stack overflow
程式強制關閉
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++ WINXP
有問題的code: (請善用置底文標色功能)
int **high;
high=new int*[50000];
for(int i=0;i<50000;i++)
{
high[i]=new int[50000];
}
補充說明:
到今天才知道陣列過大會造成所謂的stack overflow,爬了一下google的文章
說明只要是用一般在local宣告的變數,記憶體會被分配在stack區段,然後用
dynamic方法的話記憶體會被分配在heap區段,而heap沒有stack的大小限制
可是我上面已經動態宣告二維陣列,可是執行的時候程式還是強制關閉了
請問這是什麼樣的情況呢??
--
~宅男的四個徵兆~
∠□ ○ ! * \○/ ★ (○ ?
╦╦└□ " ○□═ □ □>
║║√√ ╦══╦ ∥ |\
一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.169.102.169
→
02/05 16:31, , 1F
02/05 16:31, 1F
→
02/05 16:31, , 2F
02/05 16:31, 2F
推
02/05 16:35, , 3F
02/05 16:35, 3F
→
02/05 16:37, , 4F
02/05 16:37, 4F
→
02/06 21:41, , 5F
02/06 21:41, 5F
推
02/06 22:14, , 6F
02/06 22:14, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章