前言:
每次都忘,每次都要查,干脆就做个笔记加深印象。
方法:
主要的方法有两种:
- 动态的建立指向指针的指针,每个指向的指针再申请指向某个数据类型的数组
- 建立vector的对象,其数据类型仍为vector。该对象长度为m(行),每一行的vector长度为n(列)
源码:
#include<iostream>
#include<stdlib.h>
#include<time.h>
#include<vector>
using namespace std;
int main(){
srand(time(NULL)); //随机种子
int m,n;
cin>>m>>n; //m行 n列
int **vec_1=new int*[m]; //申请维度为m的指向指针的指针
for(int i=0;i<m;i++){
vec_1[i]=new int[n]; //vec[i]申请维度为n的指向整型的指针
for(int j=0;j<n;j++){
vec_1[i][j]=rand()%10;
cout<<vec_1[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
vector<vector<int>> vec_2(m,vector<int>(n)); //建立一个vector,数据类型为vector,m为行数,n为列数
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
vec_2[i][j]=rand()%10;
cout<<vec_2[i][j]<<" ";
}
cout<<endl;
}
}
结果:
3 4
0 8 6 3
2 2 2 5
7 9 2 3
0 0 0 2
6 5 5 2
8 1 0 1