[問題] 大型二維陣列
目前在做一個比對的程式
會用到10萬以上得長度(自討苦吃
因為要儲存結果所以會用到二維陣列
目前我的程式碼
int STRLEN = 100000;
int **H,**Hg;
H = (int**)malloc(STRLEN*sizeof(int*));
Hg = (int**)malloc(STRLEN*sizeof(int*));
for(j=0 ; j<STRLEN ; j++)
{
H[j] = (int*)malloc(STRLEN*sizeof(int));
Hg[j] = (int*)malloc(STRLEN*sizeof(int));
//一直到這裡都沒問題接下來問題來了
H[0][j]=Hg[0][j]=0;
H[j][0]=Hg[j][0]=0;//我在令這一行為0時跑到一半就掛掉了,原因不明
}
但是如果數字到10000而已的話,卻是沒有問題的,不能理解為什麼會這樣,
應該不會是MALLOC的問題分開測試過了。
PS
很奇妙的我用兩台不同的電腦測過,程式都是在當STRLEN=100000 j=2637 時跳掉,
但是STRLEN = 10000 時卻又順利跑過去了,有點鬼打牆的感覺。
請問一下該如何解決呢?
感恩!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.118.131
→
02/11 12:12, , 1F
02/11 12:12, 1F
→
02/11 12:19, , 2F
02/11 12:19, 2F
推
02/11 12:24, , 3F
02/11 12:24, 3F
→
02/11 12:24, , 4F
02/11 12:24, 4F
→
02/11 12:24, , 5F
02/11 12:24, 5F
推
02/11 12:26, , 6F
02/11 12:26, 6F
→
02/11 12:27, , 7F
02/11 12:27, 7F
→
02/11 12:27, , 8F
02/11 12:27, 8F
推
02/11 12:30, , 9F
02/11 12:30, 9F
推
02/11 12:30, , 10F
02/11 12:30, 10F
→
02/11 12:30, , 11F
02/11 12:30, 11F
→
02/11 12:31, , 12F
02/11 12:31, 12F
推
02/11 12:33, , 13F
02/11 12:33, 13F
推
02/11 13:02, , 14F
02/11 13:02, 14F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章