c++动态创建二维数组的方法
来源:互联网 发布:做网站是否用数据库 编辑:程序博客网 时间:2024/05/20 23:06
c/c++中创建二维数组的方法
方法1:用一维数组代替二维数组
#include <iostream>
#include <memory.h>
#include <stdio.h>
using namespace std;
int main(void)
{
////////////////////////////
int n=2,m=3;
int *a=new int[n*m];
for(int i=0;i<n;i++)
{
cout<<endl;
for(int j=0;j<m;j++)
{
a[i*m+j]=i+j;
cout<<a[i*m+j]<<" "<<&a[i*m+j]<<" ";
}
}
cout<<endl;
delete []a;
}
运行结果:
0 00491BB0 1 00491BB4 2 00491BB8
1 00491BBC 2 00491BC0 3 00491BC4
2 00491BC8 3 00491BCC 4 00491BD0
各个元素的内存地址是递增的,是在堆区里分配的内存空间。
方法2:二维数组
#include <iostream>
#include <memory.h>
#include <stdio.h>
using namespace std;
int main(void)
{
////////////////////////////
int n=2,m=3;
int **a=new int*[n];
for(int i=0;i<n;i++)
{
a[i]=new int[m];
}
for(int i=0;i<n;i++)
{
cout<<endl;
for(int j=0;j<m;j++)
{
a[i][j]=i+j;
cout<<a[i][j]<<" "<<&a[i][j]<<" ";
}
}
cout<<endl;
delete []a;
getchar();
}
其实大家更关心二维数组在内存中是如何分配空间的:
输出结果:
00491B40 00491B44 00491B48
004918D0 004918D4 004918D8
00491890 00491894 00491898
每一行的相邻元素地址是递增的,连续的,不同行之间的地址就不连续了。
- c语言动态创建二维数组的方法
- 【C++】动态二维数组的创建
- c++动态创建二维数组的方法
- 二维数组的动态创建
- 二维数组的动态创建
- 二维数组的动态创建
- 二维动态数组的创建
- C语言中动态二维数组的创建
- C语言中动态二维数组的创建
- VC中动态创建二维数组的方法
- c++用动态创建二维数组的几种方法
- C++创建动态二维数组的两种方法
- 动态创建二维数组的两种方法
- C语言 如何动态创建二维数组
- 【C语言】动态创建二维数组
- C语言动态创建二维数组代码
- C语言动态申请二维数组的两种方法
- 动态创建二维数组
- JSF入门
- 今日注册csdn
- JSTL控制select中的某一项被选中
- VS2005:C++ std::string, std::wstring转换方法
- 编程的快乐
- c++动态创建二维数组的方法
- c# openFileDialog saveFileDialog
- 快乐的编程人生
- RedHat开放了Qumranet SPICE源代码,spice能够成为免费的ICA/PcoIP么?
- php取某个自然周第一天和最后一天的方法
- SYS.DBMS_UTILITY.NAME_ARRAY:String[1000](30);此代码何解?
- String和Date相互转换----java
- 学习编程的快乐在哪里
- ProjectEuler 301 游戏中的数学