如何new一个二维数组
2015-08-08 20:20
288 查看
定义二维数组char array[x][y];
1.只定义个一维的就可以了
char *array;
array = new char[x*y];
访问的时候*(array+i*y+j)表示array[i][j]
2.定义一个二维数组
char **array1
array1 = new char *[x];
for(i=0;i<x;++i)
array1[i] = new char[y];
...用的时候可以直接array1[i][j]
注意delete
for(i=0;i<x;++i)
delete[] array1[i];
delete[] array1;
3.要用的方便,可以在array上加定义一个指针变量。
char *array = new char[x*y];
char **array2;
array2 = new char *[x];
for(int i=0;i<x;++i)
array2[i] = array + i*y;
...用起来还是array2[i][j],但二维数组已经是一块连续内存,这是和第二种方法区别的地方,感觉这是比较适合用二维数组的习惯。
delete[] array2;
1.只定义个一维的就可以了
char *array;
array = new char[x*y];
访问的时候*(array+i*y+j)表示array[i][j]
2.定义一个二维数组
char **array1
array1 = new char *[x];
for(i=0;i<x;++i)
array1[i] = new char[y];
...用的时候可以直接array1[i][j]
注意delete
for(i=0;i<x;++i)
delete[] array1[i];
delete[] array1;
3.要用的方便,可以在array上加定义一个指针变量。
char *array = new char[x*y];
char **array2;
array2 = new char *[x];
for(int i=0;i<x;++i)
array2[i] = array + i*y;
...用起来还是array2[i][j],但二维数组已经是一块连续内存,这是和第二种方法区别的地方,感觉这是比较适合用二维数组的习惯。
delete[] array2;
相关文章推荐
- sublime 插件
- **HDU 4281 - Judges' response(DP`背包+TSP)
- POJ1320 Street Numbers(佩尔方程)
- 《计算机程序设计艺术(第一卷)》的问题
- Spark 性能相关参数配置详解-shuffle篇
- java 代理模式
- mysql存储引擎InnoDB插入数据的过程详解
- HDU 1789 Doing Homework again
- [leetcode 234]Implement Queue using Stacks
- 大数据.......
- oracle表连接——处理连接过程中另外一张表没有相关数据不显示问题
- SDUT 2482 二叉排序树
- 数据分析与数据挖掘类的职位必备技能
- 网络信息安全攻防实验室之基础关
- python正则表达式 re (二)compile
- angularJS(1)
- 两主机互ping的一些例子及其解释
- 菜鸟学JAVA——第一个JAVA程序
- PHP 命名空间
- xcode7-beta版本真机调试