c++ 动态创建二维数组

原创 2015年07月08日 18:04:30

为了做一个东西需要用到动态创建二维数组,特此记录.


#include <iostream>
#include "time.h"
using namespace std;

int main()
{
	srand((unsigned)time(NULL));
	int x_num;
	int y_num;
	cout<<"please input x_num:";
	cin>>x_num;
	cout<<"please input y_num:";
	cin>>y_num;
	int **m_array;
<span style="white-space:pre">	</span>//创建一个x_num列,y_num行的二维数组
	m_array = new int*[y_num];
	for(int i=0;i<y_num;i++)
	{
		m_array[i] = new int [x_num];
	}
	//赋值
	for(int i=0;i<y_num;i++)
	{
		for(int j=0;j<x_num;j++)
		{
			m_array[i][j]=rand()%4+1;
		}
	}
	//输出
	for(int i=0;i<y_num;i++)
	{
		for(int j=0;j<x_num;j++)
		{
			cout<<m_array[i][j]<<" ";
		}
		cout<<endl;
	}

	
	for(int i=0;i<y_num;i++)
	{
		delete[] m_array[i];
	}

	delete[] m_array;
	return 0;
}


思路就是先创建一个指针数组,然后每一个指针动态指向一个数组,这样就成功动态创建了二维数组。

删除的时候也是一样,先删除每个指针所指向的数组,然后删除这个指针数组。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C++建立动态二维数组

C++建立动态二维数组主要有两种方法: 1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组                           int...

C++ 用new 动态创建多维数组

我们知道 char *a=new char[10];可以创建一个长度为10的数组。当把定值10换为一个变量时,我们的程序也没有任何问题,这时可成了名副其实的动态创建数组,如:int n=10;char...

C++中动态申请二维数组并释放方法

C/C++中动态开辟一维、二维数组是非常常用的,以前没记住,做题时怎么也想不起来,现在好好整理一下。  C++中有三种方法来动态申请多维数组   (1)C中的malloc/free   (2)C...

C++中二维数组的动态创建与处理

C++中用new动态创建二维数组的格式一般是这样:TYPE (*p)[N] = new TYPE [][N];其中,TYPE是某种类型,N是二维数组的列数。采用这种格式,列数必须指出,而行数无需指定。...

C++二维动态数组的创建与删除

原博文:http://blog.sina.com.cn/s/blog_4e7ae8ca0100zqq6.html C++中用new动态创建二维数组的格式一般是这样: TYPE (*p)[N] ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

VC中动态创建二维数组的方法

先给了例子吧:如要想创建一个[m][n]的二维数组。下面为通过动态创建一个指针数组的方法来动态创建二维数组的方法。 double **data;data = new double*[m];//设置行 ...
  • momosp
  • momosp
  • 2011年05月14日 23:35
  • 4461

c++动态创建二维数组

  • 2015年03月13日 22:20
  • 14KB
  • 下载

c++动态创建二维数组

方法1:用一维数组代替二维数组 int n,m;   cin>>n>>m;   int* a = new int[n*m];   for(int i = 0 ; i...

继续我的c++语法,,,二维数组的动态创建和释放

从csdn的帖子上看过来的。from:http://topic.csdn.net/t/20040629/21/3132646.html总结:                  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++ 动态创建二维数组
举报原因:
原因补充:

(最多只允许输入30个字)