天天看点

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;
           

继续阅读