如何制作指针数组并让用户输入其大小



我想创建一个数组,在这个数组中有指针,如下所示:int *arrp[size];和我希望用户输入它的大小。我试着这样做:

#include <iostream>
using namespace std;
int main ()
{
int size;
cout << "Enter the size of the array of pointers" << endl;
cin >> size;
int *arrp[size];

return 0;
}

但这行不通。我也尝试过这样做:

#include <iostream>
using namespace std;
int main ()
{
int size;
cout << "Enter the size of the array of pointers" << endl;
cin >> size;
int* arrp[] = new int[size];

return 0;
}

也不起作用,有人能帮忙吗?

第一个代码的错误是大小必须是恒定的,我试图通过写第二个代码来解决这个问题,但它给出了单词"的错误;新的";在第9行中:聚合对象应使用"{…}"进行E0520初始化以及同一行中的大小的另一个错误:C2440"初始化":无法从"int*"转换为"int*[]">

要生成指针数组,应键入:int** arr = new int*[size]我们键入2颗星"*",第一颗星表示指向整数的指针,第二颗星表示指向该整数的指针。然后我们通过键入= new int*[size]在内存中为这些指针留出一个位置,您可以将其用作存储在堆(而不是堆栈(中的2D数组。请访问此网站了解区别:https://www.geeksforgeeks.org/stack-vs-heap-memory-allocation/.要了解有关如何使用指向整数指针的指针数组的更多信息,您可以观看此视频:https://www.youtube.com/watch?v=gNgUMA_Ur0U&ab_channel=车尔诺。

相关内容

  • 没有找到相关文章

最新更新