Re: [語法] 宣告動態二維陣列....
看板C_and_CPP (C/C++)作者keelar (Washi_Keelar)時間16年前 (2010/05/24 08:00)推噓6(6推 0噓 4→)留言10則, 6人參與討論串2/2 (看更多)
是沒有問題, 只是你這樣的作法, memory 是不連續的
我的話我是這樣用: 先 new 一大塊, 然後再 assign 到對的位置
// create
int **rgArray = new int *[M];
rgArray[0] = new [M * N];
for(int x = 1; x < M; x++){
rgArray[x] = rgArray[x - 1] + N;
}
// delete
delete [] rgArray[0];
delete [] rgArray;
不知道有沒有更棒的方法
※ 引述《GZ79 (ミⒼⓏ❼❾)》之銘言:
: int A[M][N];
: 請利用new的方式,動態產生這個二維陣列;
: 接著利用delete釋放所要的記憶體。
: ==============================================
: int **p=new int *[M];
: for(int i=0; i<M; i++)
: p[i] = new int [N];
: // delete
: for(int i=0; i<M; i++)
: delete [] p[i];
: delete [] p;
: ===============================================
: 最上面是我要問的題目,然後中間是我寫的
: 請問這樣寫的答案,有沒有問題啊,這樣是不是就是用new 宣告動態二維陣列啊
: 因為 不是很確定, 所以來版上 請教各位 大大們
: 謝謝
--
◢██████
█◤▁▂▃▌ █ █▌
◤ █°▋▊▅ █ ◢ ◢█◣ ◢█◣ █ ◢██ █◢◣
◥█████ █◢◤ █▅█ █▅█ █ █ █ █◤
███◤ █◥◣ █ █ █ █ █ █
◥█◤ █ ◥◣◥█◤ ◥█◤ ██ █◤█◣ █
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 72.130.182.217
※ 編輯: keelar 來自: 72.130.182.217 (05/24 08:10)
推
05/24 10:18, , 1F
05/24 10:18, 1F
推
05/24 10:22, , 2F
05/24 10:22, 2F
推
05/24 11:03, , 3F
05/24 11:03, 3F
→
05/24 11:04, , 4F
05/24 11:04, 4F
推
05/24 11:09, , 5F
05/24 11:09, 5F
→
05/24 11:09, , 6F
05/24 11:09, 6F
→
05/24 11:10, , 7F
05/24 11:10, 7F
推
05/24 20:44, , 8F
05/24 20:44, 8F
→
05/24 21:07, , 9F
05/24 21:07, 9F
推
05/24 22:05, , 10F
05/24 22:05, 10F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章