C++如何动态创建二维数组
作者:bea
在C++下,动态创建一维数组很简单。方法如下: double *dd =new double [length]; //length 为输入参数 释放 delete [] dd; 那么二维数组能动态创建吗?怎么弄?怎么释放? C++动态创建二维数组的方法有很多下面我 们简单介绍两种方法: 方法一:二维数组 int n,m; cin>>n>>m; int** a = new int*[n];\\\\\创建指针数组 for(int i = 0;i { a[i]
在C++下,动态创建一维数组很简单。方法如下:
double *dd =new double [length]; //length 为输入参数 释放 delete [] dd;
那么二维数组能动态创建吗?怎么弄?怎么释放?
C++动态创建二维数组的方法有很多下面我 们简单介绍两种方法:
方法一:二维数组
double *dd =new double [length]; //length 为输入参数 释放 delete [] dd;
那么二维数组能动态创建吗?怎么弄?怎么释放?
C++动态创建二维数组的方法有很多下面我 们简单介绍两种方法:
方法一:二维数组
int n,m;
cin>>n>>m;
int** a = new int*[n];\\\\\创建指针数组
for(int i = 0;i
{
a[i] = new int[m];\\\\\\\\为每一行分配空间
}
for(int f =0;f
{
for(int j =0;j
{
a[f][j] = f+j;\\\\\\\\\\\\为数组赋值
}
}
其实大家更关心二维数组在内存中是如何分配空间的:
输出每个元素的地址:
for(int k = 0;k
{
cout
for(int s = 0;s
{
cout
}
}
输出结果:
00491B40 00491B44 00491B48
004918D0 004918D4 004918D8
00491890 00491894 00491898
每一行的相邻元素地址是递增的,连续的,不同行之间的地址就不连续了。
方法二:用一维数组代替二维数组
int n,m;
cin>>n>>m;
int* a = new int[n*m];
for(int i = 0 ; i
{
cout
for(int j = 0 ; j
{
a[i*m+j] = i+j;
cout这二种方法都很不错,建议大家都试试。
有用 | 无用猜你喜欢
您可能感兴趣的文章:
- asp.net URL重写实现动态页面静态化
- 采用WebClient 并以post方式发送数据
- FtpWebRequest 实现FTP常用功能详解
- ashx文件和aspx文件有什么区别
- 如何选择website还是web application,哪个好
- asp.net怎样提高首页性能
- 怎样在C#中执行Javascript代码
- 企业市场将是微软的另一条战线
- UML正逐渐下滑的13个理由
- .NET怎样实现 MVC页面返回不同类型的内容
- C#计算文件的MD5值实例
- DateTime日期类型格式化显示
- .NET异常处理最佳实践方案
- 浅谈C++中const类型变量和函数重载
- 什么是C++中的虚拟克隆
- C++是什么《我的第一本C++书》
- C++中char*,String,int,CString间转换
- 解决C++客户端到C#服务器中文乱码
- 用C++如何实现八皇后问题