C++二维数组

我们知道,C++建立静态数组很简单:int array[row][col]

但是要用动态方式或者需要用int **调用数组时,就必须知道该怎么用了:

二维数组可以看成是数组的数组或者包含数组的数组,所以我们可以先使用双重指针建立一个存放指针(将被用来作数组名)的数组(指针),然后再把这个数组的每一项元素定义为一个数组。说得有点绕,看代码:

示例代码:

#include <iostream> 
using namespace std;


int main()
{
	//int array[3][3];
	int rows, columns, k = 0;
	cin>>rows>>columns;
	int **array = new int*[rows];
	for(int i=0; i < rows; i++)
		array[i] = new int[columns];
	for(int i=0; i < rows; i++)
		for(int j=0; j < columns; j++)
			array[i][j] = k++;
	for(int i=0; i < rows; i++)
	{
		for(int j=0; j < columns; j++)
			cout<<array[i][j]<<" ";
		cout<<endl;	
	}
	
	for(int i =0; i < rows; i++)
	{
		delete array[i];
		array[i] = NULL;
	}
	delete []array;
	array = NULL;
	
	return 0;
}

/**
 输入:
3 3 
 输出:
0 1 2
3 4 5
6 7 8
 
*/


另外可以参考下面的一篇博客:

C++建立动态二维数组主要有两种方法:

原文地址:https://www.cnblogs.com/lvlang/p/10586372.html