两种方式:yi
一是通过new-deletechua创建。二是通过vector创建。
注意两者的初始化区别。只能把所有的值初始化为同一个值。
// temp-test.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int H, L;
cin >> H >> L; //输入行列信息
//vector创建二维数组,并全部初始化为1
vector<vector<int>> arr1(H, vector<int>(L, 1));
for (int i = 0; i < H; i++)
{
for (int j = 0; j < L; j++)
{
cout << arr1[i][j] << ' ';
}
cout << endl;
}
cout << "again" << endl;
//new方法创建动态二维数组
int ** arr2 = new int *[H];
for (int i = 0; i < H; i++)
{
arr2[i] = new int [L] {};//或者()代替{},每个元素都初始化为0
//arr2[i] = new int [L];元素没有初始化,值为随机的。
}
for (int i = 0; i < H; i++)
{
for (int j = 0; j < L; j++)
{
cout << arr2[i][j] << ' ';
}
cout << endl;
}
//delete释放
for (int i = 0; i < H; i++)
{
delete [] arr2[i];
}
delete [] arr2;
system("pause");
}
因篇幅问题不能全部显示,请点此查看更多更全内容