之前都是寫的小程式,一直用的靜態陣列,也沒出現問題。
可是,最近碰到大型程式和工程,這時就要用動態陣列了。
因為靜態陣列時儲存在棧中的,而動態陣列儲存在堆中。
計算機的棧只有1m大小,而堆可以理論上達到計算機記憶體大小,
可見當大型工程資料量非常大時,必須使用動態陣列了。
c++的動態陣列的建立和刪除要用到new和delete,
new用來開闢記憶體空間,delete用來刪除記憶體空間。
建立二維動態陣列test,第一維大小為n_test1,第二維大小為n_test2。
並且n_test1和n_test2可以為變數,這點和靜態陣列不同,靜態陣列必須用常量或數字。
下面時具體實現**:
1 #include 2 #include 3 #include 4using
namespace
std;56
void init(int a,int b,int **t)712
}1314void final(int a,int **t)
1520
delete t;21}
2223
intmain()
24
動態建立二維陣列
c 中用new動態建立二維陣列的格式一般是這樣 type p n new type n 其中,type是某種型別,n是二維陣列的列數。採用這種格式,列數必須指出,而行數無需指定。在這裡,p的型別是type n 即是指向乙個有n列元素陣列的指標。還有一種方法,可以不指定陣列的列數 int p p ne...
動態開闢二維陣列
近日寫到乙個程式,用到了要動態開闢二維陣列,一想,自己就會兩種。一者 用new在堆上開闢 二者 用vector開闢。技巧沒有多少,但是確實是折騰了我半天!首先,大家去網上搜一下,動態開闢二維陣列的文章特別多,再加上我這篇就更多了,我本不想寫這篇博文的。但看了網上各位 大蝦 大牛 寫的,覺得還是有必要...
動態建立二維陣列
1.c 中 使用陣列指標,分配乙個 指標陣列,將其首位址儲存在b中,然後再為指標陣列的每個元素分配乙個陣列 int b new int row 分配乙個指標陣列,將其首位址儲存在b中 for i 0 ib null 例 動態建立二維陣列 void main int col,row cin row c...