尝试创建交错数组 c++

Trying to create a jagged array c++

本文关键字:数组 c++ 创建      更新时间:2023-10-16
int** DATA = new int*[10];
DATA[0] = new int[100];    //works
DATA[1] = new int[100][5]; //dont work 
DATA[1][100] = 1;

您好,我正在尝试创建一个交错数组,但需要 5 列。

谢谢

你真的需要一个交错数组(每行不同的列数(还是只是一个二维数组,每行有 5 列。在这两种情况下,Ulrich 的建议是更喜欢 std::vector 而不是裸数组,你应该考虑一下。

但是,如果您绝对需要以 C 样式创建的二维数组,则

方法是
int** p = new int*[10];
for( int i=0; i<10; i++ ) {
    p[i] = new int[20];
}
p[7][17] = 177;

这将创建一个包含 10 行和 20 列的 2D 数组,可以使用 2D 数组语法访问这些数组。