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语言基础的人觉得自己都可以很容易完成,但要正确的完成并且说的明白其中道理不见得就那么多。正确的理解数组指针和指针数组是关键。...
  • yc2zgh1314
  • yc2zgh1314
  • 2016年05月18日 23:53
  • 7384

C++建立动态二维数组

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

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

原博文:http://blog.sina.com.cn/s/blog_4e7ae8ca0100zqq6.html C++中用new动态创建二维数组的格式一般是这样: TYPE (*p)[N] ...
  • jiang111_111shan
  • jiang111_111shan
  • 2015年03月21日 11:01
  • 993

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

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

C++动态定义二维数组

#include using namespace std; int main() { int m,n; cin>>m>>n;//dimension of mat // in...
  • u010305560
  • u010305560
  • 2015年09月08日 06:30
  • 1717

C++动态创建二维数组,二维数组指针,以及动态二维数组函数传递

int **result;   int row = 4;   int col = 5;   result = new int*[row];   for (int i=0; i {       resu...
  • PengPengBlog
  • PengPengBlog
  • 2017年01月03日 13:34
  • 496

c++ 创建二维数组的几种方法

1、用new申请一块内存空间存放二维数组 #include using namespace std; int main(int argc, char* argv[]) { int n=10,m=2...
  • u014546553
  • u014546553
  • 2016年12月14日 19:48
  • 6319

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

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

小结:C++中如何用new动态开辟二维数组

1. T(*p)[n] = new T[m][n]; ... delete []p; 缺点:n必须是已知 优点:调用直观,连续储存 2. T** p = new T*[m]; for(i...
  • i1369230032
  • i1369230032
  • 2012年05月18日 19:38
  • 1630

c++动态创建二维数组

  • 2015年03月13日 22:20
  • 14KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++ 动态创建二维数组
举报原因:
原因补充:

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