天天看點

C++動态申請數組C++動态申請數組

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;
           

繼續閱讀