二维数组动态分配内存
来源:互联网 发布:iphone画图软件 编辑:程序博客网 时间:2024/05/18 01:55
前几天遇到一个二维数组的问题,不知道怎么去动态的为二维数组分配内存!这几天看了一下后,把这些记下来!
有两种方法:1.双指针法
我的代码:
int **c=new int *[100];for(int i=0;i<100;i++){c[i]=new int[100];}......for(int j=0;j<100;j++)delete[] c[j];delete[] c;
参考代码:
int num1,//行数 num2;//列数 cout<<"Please enter the number for row and column: "<<endl; cin >> num1 >> num2; //为二维数组开辟空间 int **p = new int*[num1]; for(int i=0; i<num1; ++i) p[i] = new int[num2]; for(int j=0;j<num1;j++) { for(int k=0;k<num2;k++) { p[j][k]=(j+1)*(k+1); cout<<setw(6)<<p[j][k]<<':'<<setw(8)<<&p[j][k]; } cout<<endl; } //释放二维数组占用的空间 for(int m=0;m<num1;m++) delete[] p[m]; delete[] p;
2.使用STL中VECTOR(向量)的方法
#include <iostream>#include <vector>#include <iomanip>using namespace std;int main(){ int i, j, m, //行数 n; //列数 cout << "input value for m,n:"; cin>>m>>n; //注意下面这一行:vector<int后两个">"之间要有空格!否则会被认为是重载">>"。 vector<vector<int> > vecInt(m, vector<int>(n)); for (i = 0; i < m; i++) for (j = 0; j < n; j++) vecInt[i][j] = i*j; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) cout<<setw(5)<<vecInt[i][j]<<":"<<setw(9)<<&vecInt[i][j]; cout<<endl; } return 0;}
- 二维数组动态分配内存
- 二维数组动态分配内存
- 二维数组动态分配内存
- 二维数组动态分配内存
- 二维数组动态分配内存
- 二维数组动态分配内存
- 动态分配内存方式创建二维数组
- C语言中二维数组动态分配内存
- C、C++二维数组动态分配内存
- c++动态分配二维/三维数组的内存
- 为一个二维数组动态分配&释放内存
- C++中的二维数组动态分配内存
- 指针数组、数组指针、二维数组动态分配内存
- 指针数组、数组指针、二维数组动态分配内存
- 动态分配二维数组 连续内存,不连续内存实现
- 动态分配二维数组
- 动态分配二维数组
- 如何动态分配二维数组
- java 解析ip
- 安装和使用花生壳(linux)
- js编码解码一个蛮有意思的事
- opencv之卡尔曼滤波
- Linux 常见特殊符号
- 二维数组动态分配内存
- Servlet+Jsp实现图片或文件的上传功能
- 一个好的学习算法的网站
- Unix常用命令
- jQuery:1.5.3,表单验证(父级(parent)层次追加(apped))
- samba与nfs的区别
- NFS 安装配置
- 全排列的递归实现
- Java基础—异常处理总结