C++实现动态多维数组
来源:互联网 发布:js图片放大弹出效果 编辑:程序博客网 时间:2024/05/17 02:59
在C++中多维数组是利用数组的数组来实现的,即
int *ia = new int[n];
可以动态创建包含n个元素的数组,如果把每个元素换成数组就成为多维数组了,
int (*ia)[10];ia = new int[10][10];
不能使用int* ia[10]来声明多维数组,此时表示的是包含10个指向int*元素的数组,上面创建的数组需要指定第二维后面元素的大小,为了创建不定大小的动态多维数组,我们需要使用一下方式创建:
int **arr = new int*[n]; for (int i = 0; i < n; ++i) { arr[i] = new int[m]; }
不能使用int ** ia = new int[n][m]的方式创建多维数组。
删除多维数组的时候需要先把每个元素进行删除,然后再删除最外面的数组,代码如下:
for (int i = 0; i < n; ++i) { delete[] arr[i]; } delete[] arr;
完整的使用动态多维数组的代码如下:
#include <iostream>using namespace std;int main(){ int n; cout << "Please input a number: "; cin >> n; cout << endl; int **arr = new int*[n]; for (int i = 0; i < n; ++i) { arr[i] = new int[n]; } for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { cout << i + j<<" "; arr[i][j] = i*j; } cout << endl; } for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { cout << arr[i][j]<< " "; } cout << endl; } cout << endl; for (int i = 0; i < n; ++i) { delete[] arr[i]; } delete[] arr; system("pause"); return 0;}
程序执行结果如下:
0 0
- C++实现动态多维数组
- C 语言的动态多维数组
- 一个动态多维数组的实现
- 动态创建多维数组
- 动态声明多维数组
- 动态多维数组-multi_array
- 多维动态数组
- 动态多维数组
- 动态创建多维数组
- C语言中malloc 动态申请多维数组
- c的多维数组动态建立的问题
- c/c++多维数组的动态内存开辟与释放
- C多维数组
- c.传递多维数组
- C语言----多维数组
- C实现动态数组
- Vcotor实现多维数组
- 多维数组的实现
- 欢迎使用CSDN-markdown编辑器
- 数据库的隔离级别介绍
- Activity的使用
- 递归
- 设计模式六大原则简单介绍
- C++实现动态多维数组
- 【day0404】C++ main命令行选项
- Espresso 自动化测试(十二) -recyclerView 以及 viewPager的使用
- 迭代算法
- HNACM(七)A.物资调度
- JavaScript XML 跨浏览器
- 关于shared_ptr
- WebGIS入门知识
- 文件存储