new一个二维数组
2016-04-03 21:17
281 查看
定义二维数组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;
delete[] array;
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;
delete[] array;
相关文章推荐
- 程序员有趣的面试智力题
- ubuntu分区
- 03-树1 树的同构
- C#的数据类型简介
- 螺旋矩阵
- 概率论与数量统计(二)2___ 随机事件与概率
- 服务器端如何开启GZIP压缩功能
- java程序的加载过程
- 欧氏距离的矩阵实现(k近邻分类器)
- CentOS 6.4安装图形界面并用VNC远程连接
- 双向链表
- 虚拟文件系统(VFS)
- 用Objective-C写了一个简单的批量更改文件名的程序
- Dijkstra TYVJ 1031热浪 Dijkstra测试数据
- POJ 2524 (并查集)
- 腾讯测试
- Dijkstra TYVJ 1031热浪 Dijkstra测试数据
- Sublime Text 3专题
- 生产者和消费者
- 详解https是如何确保安全的?