这是初始化可变大小数组的正确方法吗?

Is this the correct way of initializing a variable-sized array

本文关键字:方法 数组 小数 初始化      更新时间:2023-10-16

我想创建一个可变大小的二维数组,行数为 m,列数为 n。 m 和 n 的第 n 个值在执行期间从用户那里获取。 以下方法工作并生成输出。现在让我知道这在与 cpp 相关的所有情况下在技术上是否正常。

#include<iostream>
using namespace std;
int main() {
    int **arr, m,n;
    cout<<"enter";
    cin>>m>>n;
    arr = new int*[m];
    for(int i = 0; i < m; i++) {
        arr[i]=new int[n];  // initializing a variable-sized array
    }
    for(int i = 0; i < m; i++) {
        for(int j = 0; j < n; j++) {
            cout<<arr[i][j];  // printing the array
        }
    }
}

从你所说的,我认为你想要一个二维数组,其中列数和行数在运行时确定。

因此,要创建此数组,我们使用以下语法:

int l = 5; //set this on runtime with a cin or something else
int k = 5; //set this on runtime with a cin or something else
int array [k][l] = {};

恭喜这段代码创建了一个 5x5 大小的多维数组,其中每个整数都用数字"0"初始化,因为这是整数的默认初始化

有关更多信息,您应该查看以下链接:

声明和初始化数组

多维数组