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

如何釋放指標的記憶體空間

尚未結案
glenn
一般會員


發表:24
回覆:21
積分:9
註冊:2004-03-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-24 13:07:33 IP:140.124.xxx.xxx 未訂閱
各位大大: 小弟今遇到一個問題, 就是現在我有一個三維的指標, float ***p; p=new float **[4]; for(int i=0;i<4;i ) { p[i]=new float *[5]; for(int j=0;j<5;j ) { p[i][j]=new float [6]; for(int k=0;k<6;k ); p[i][j][k]=0; } } 現在此指標已使用完, 如何把它刪除, 並從記憶體中釋放。
richtop
資深會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-24 22:22:45 IP:211.76.xxx.xxx 未訂閱
glenn 您好:    一種釋放程式的寫法,您參考看看!    

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  float ***p;
  p = new float **[4];
  for (int i=0; i<4; i  )
     { p[i] = new float *[5];
       for (int j=0; j<5; j  )
          { p[i][j] = new float [6];
            for (int k=0; k<6; k  ) //原程式中多一分號;
               p[i][j][k]=0;
          }
     }      //=== 釋放順序: 底層的先釋放.
  for (int i=0; i<4; i  )
     { for (int j=0; j<5; j  )
          { delete [] p[i][j];
          }
       delete [] p[i];
     }
  delete [] p;
}
RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
系統時間:2024-07-06 1:00:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!