C++中二维数组总结
2016-04-24 09:52
423 查看
最近编程需要研究了一下二维数组,网上这方面的资料蛮多了,汇总一下,欢迎补充!
关于二维数据的基本知识见这里:
C++二维数组讲解、二维数组的声明和初始化
关于二维数据的动态分配,以下博客讲述得比较清楚:
1、C++中二维数组new小结
2、二维数组的动态分配(new)、初始化(memset)和撤销(delete)
3、动态分配内存。。。
4、如何在C/C++中动态分配二维数组
举例:
结果如下:
关于二维数据的基本知识见这里:
C++二维数组讲解、二维数组的声明和初始化
关于二维数据的动态分配,以下博客讲述得比较清楚:
1、C++中二维数组new小结
2、二维数组的动态分配(new)、初始化(memset)和撤销(delete)
3、动态分配内存。。。
4、如何在C/C++中动态分配二维数组
举例:
//动态定义一维数组、二维数组、三维数组 #include<iostream> #include<ctime> using namespace std ; int main() { int hight , row , col ; register int i , j , k ; srand((unsigned)time(NULL)) ; cout<<"输入一维数组的行"<<endl; cin>>row ; //动态定义一维数组 int *p1 ; p1 = new int [row] ; //输入一维数组的值 for( i = 0 ; i < row ; i ++ ) p1[i] = rand () % 10 ; //输出一维数组 for( i = 0 ; i < row ; i ++ ) cout<<p1[i] <<' ' ; cout<<endl; //释放一维数组 delete [] p1 ; cout<<"输入二维数组的行,列 :"; cin>>row >>col ; //动态定义二维数组 int **p2 ; p2 = new int*[row] ; for( i = 0 ; i < row ; i ++ ) p2[i] = new int[col] ; //输入二维数组的值 for( i = 0 ; i < row ; i ++ ) for( j = 0 ; j < col ; j ++ ) p2[i][j] = rand() % 10 ; //输出二维数组 cout<<"输出二位数组:"<<endl; for( i = 0 ; i < row ; i ++ ) { for( j = 0 ;j < col ; j ++ ) cout<<p2[i][j]<<' ' ; cout<<endl; } //释放二维数组 for( i = 0 ; i < row ; i ++ ) delete []p2[i] ; delete []p2 ; cout<<"输入三维数组高,行,列 : "; cin>>hight>>row >> col ; //动态定义三维数组: int *** p3 ; p3 = new int**[hight ] ; for( i = 0 ; i < hight ; i ++ ) p3[i] = new int*[row] ; for( i = 0 ; i < hight ; i ++ ) for( j = 0 ; j < row ; j ++ ) p3[i][j] = new int[col] ; //输入三维数组值: for(i = 0 ; i < hight ; i ++ ) for(j = 0 ; j < row ; j ++ ) for( k = 0 ; k < col ; k ++) p3[i][j][k] = rand()%10 ; //输出三维数组: cout<<"输出三维数组"<<endl; for(i = 0 ; i < hight ; i ++ ) { for( j = 0 ; j < row ; j ++ ) { for( k = 0 ; k < col ; k ++ ) cout<<p3[i][j][k]<<' ' ; cout<<endl; } cout<<endl; } //释放三维数组 for( i = 0 ; i < hight ; i ++ ) for( j = 0 ; j < row ; j ++ ) delete []p3[i][j] ; for( i = 0 ; i < hight ; i ++ ) delete []p3[i] ; delete []p3 ; return 0 ; }
结果如下:
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性