为了做一个东西需要用到动态创建二维数组,特此记录.
#include <iostream> #include "time.h" using namespace std; int main() { srand((unsigned)time(NULL)); int x_num; int y_num; cout<<"please input x_num:"; cin>>x_num; cout<<"please input y_num:"; cin>>y_num; int **m_array; <span style="white-space:pre"> </span>//创建一个x_num列,y_num行的二维数组 m_array = new int*[y_num]; for(int i=0;i<y_num;i++) { m_array[i] = new int [x_num]; } //赋值 for(int i=0;i<y_num;i++) { for(int j=0;j<x_num;j++) { m_array[i][j]=rand()%4+1; } } //输出 for(int i=0;i<y_num;i++) { for(int j=0;j<x_num;j++) { cout<<m_array[i][j]<<" "; } cout<<endl; } for(int i=0;i<y_num;i++) { delete[] m_array[i]; } delete[] m_array; return 0; }
思路就是先创建一个指针数组,然后每一个指针动态指向一个数组,这样就成功动态创建了二维数组。
删除的时候也是一样,先删除每个指针所指向的数组,然后删除这个指针数组。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-13 11:13:51