c++new定义可变二维数组

2024-11-22 19:53:33
推荐回答(2个)
回答1:

如果你想要定义一个二维数组,光用
int**y=new int*y[4];

是不行的。。。

你需要再为每一行申请空间,完整的方法是:
int**y=new int*y[4];

int max_col_length = 100;//每一行的最大列数,你必须制定一个长度值。如果你想要定义一个二维数组,每列的长度不定,那么你需要针对每一列去定义其长度。我这里只是定义每一列的最大长度是100,虽然这样可能浪费空间,但是好处是可以用下面的循环来完成定义
for(int i=0;i<4/*行的个数*/;++i){
y[i] = new int[max_col_length];
}

回答2:

int **y = new int* [4];