我是使用指针的新手,我遇到了问题。 我必须从用户那里获得一个2D数组字符,并且用户会给我行数和列数以及应该填充的数组。
int rows,col,i,j;
char **array;
int *storage;
cin >> rows >> col;
array = new *int[rows];
storage = new int[rows*col];
for (int i = 0; i < rows; ++i)
array[i] = storage + col * i;
for(i=0;i<rows;i++){
for(j=0;j<col;j++){
cin>>array[i][j];}
}
我为它编写了上面的代码,但它不起作用。我试图搜索这样的东西,但我没有找到任何东西。 你可以帮我修一下这段代码的错误吗?
答案 0 :(得分:0)
数组是静态的,所以请使用vector
而不是std:vector
它是动态的,以便
您可以在运行时放大矢量的大小。