C++動态申請數組
1.使用new運算符來申請數組更加簡便,同時也會使指針更像數組。
2.每一次new操作都會向記憶體申請一塊連續的位址空間,也就是說二維數組相鄰的列在 記憶體中位址不一定是相鄰的。
3.C++中申請記憶體不必區分基本類型還是自定義的類,都是統一的定義方法。
申請一個大小為 n=10 的一維數組
int n = 10;
int* a = new int[n];
/*
* 其餘代碼
*/
delete[]a;
申請一個大小為n * n的二維數組
int n = 10;
int **a = new int*[n];
for (int i = 0; i < n; i++)
a[i] = new int[n];
/*
* 其餘代碼
*/
for (int i = 0; i < n; i++)
delete[] a[i];
delete[]a;
申請一個大小為n * n * n的三維數組
int n = 10;
int ***a = new int**[n];
for (int i = 0; i < n; i++){
a[i] = new int*[n];
for (int j = 0; j < n; j++)
a[i][j] = new int[n];
}
/*
* 其餘代碼
*/
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++)
delete[] a[i][j];
delete[] a[i];
}
delete[] a;