【发布时间】:2021-06-16 19:36:34
【问题描述】:
以下代码是我对这个挑战找到的答案
int main() {
int x,y,s=0;
cin>>x>>y;
int *arr[x];
while(x--)
{
int num;
cin>>num;
arr[s]=new int[num];
for(int i = 0; i<num ; i++)
{
cin>>arr[s][i];
}
s++;
}
while(y--)
{
int a,b;
cin>>a>>b;
cout<<arr[a][b];
cout<<"\n";
}
return 0;
}
我的问题是指针数组“arr”如何存储第 13 行中的数组元素的值并打印第 21 行中的数组元素。
要使用存储在数组中的值,我们必须使用星号,对吗? 那么如何在没有星号作为前缀的情况下扫描和打印指针数组中的元素呢?
【问题讨论】:
-
int *arr[x];不是标准 C++:Why aren't variable-length arrays part of the C++ standard?。我建议您在深入了解花哨的编译器扩展之前了解标准的可移植 C++,这将是std::vector<int*> arr(x);或std::vector<std::vector<int>>for 2d
标签: c++ arrays pointers dynamic-memory-allocation