線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1739
推到 Plurk!
推到 Facebook!

動態陣列釋放記憶體

尚未結案
allenchien123
一般會員


發表:4
回覆:5
積分:1
註冊:2005-04-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-15 17:21:08 IP:140.127.xxx.xxx 未訂閱
請各位前輩幫忙: 一個動態陣列釋放記憶體的副程式這樣寫是哪裡出錯 void**deletematrix(double**a,int m,int n); void**deletematrix(double**a,int m,int n) {        for(int i=0;i
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-15 21:49:55 IP:140.129.xxx.xxx 未訂閱
allenchien123您好:    因為沒有您配置記憶體的程式碼,所以僅能在假設記憶體釋放順序對的情形下,指出可能的出錯點,您參考看看。    
引言: 請各位前輩幫忙: 一個動態陣列釋放記憶體的副程式這樣寫是哪裡出錯
void**deletematrix(double**a,int m,int n);
void**deletematrix(double**a,int m,int n)
{   
    for(int i=0;i[] a[i]; //釋放動態配置的陣列
    }
    delete [] a; //釋放動態配置的陣列
}
我看電腦的記憶體 還是不斷的累加 不知道是哪裡出錯了 請各位前輩指教 謝謝
RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
allenchien123
一般會員


發表:4
回覆:5
積分:1
註冊:2005-04-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-16 11:55:34 IP:140.127.xxx.xxx 未訂閱
richtop兄你好 由於我學的程式大部分只是處理資料而已 比較深入的一些都還在摸索中 請問配置記憶體的程式碼是指的是什麼 可以介紹我看一些文章嗎? 一切還在摸索中.....謝謝你
allenchien123
一般會員


發表:4
回覆:5
積分:1
註冊:2005-04-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-17 13:59:56 IP:140.127.xxx.xxx 未訂閱
請問各位前輩一個問題 因為在我的大迴圈中 每次的陣列的大小都不一樣 所以在大迴圈內 會不斷的用動態陣列產生不同大小但名稱一樣的陣列 這樣 是不是 造成我電腦記憶體不斷累加的主因 例如 第一次的迴圈陣列a[100000][25] 可是 第二次迴圈陣列a變為a[130000][25] 而a陣列產生都是用動態產生。 若是真的是如此 是否有什麼好方法可以解決 請各位前輩 多多指教 謝謝
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-17 21:51:26 IP:211.76.xxx.xxx 未訂閱
allenchien123 您好: 底下C程式碼,您測試參考看看,有問題再討論。 < class="code"> #include #include void getMemory(double ***pMat, int row, int col) { int k; *pMat = (double **) malloc(sizeof(double*)*row); for (k=0; k
allenchien123
一般會員


發表:4
回覆:5
積分:1
註冊:2005-04-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-20 12:25:17 IP:140.127.xxx.xxx 未訂閱
謝謝richtop兄的教導,感激不盡
系統時間:2024-05-19 18:52:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!