中易网

c++,输入一个未知大小的数组怎么做??? 要求有回答范例。。。

答案:5  悬赏:50  
解决时间 2021-01-11 15:51
  • 提问者网友:自食苦果
  • 2021-01-11 06:34
c++,输入一个未知大小的数组怎么做??? 要求有回答范例。。。
最佳答案
  • 二级知识专家网友:老鼠爱大米
  • 2021-01-11 07:19
C++本身不支持未知大小的动态数组,你的需求通常有两种方法可以解决。
 
方法1:动态申请内存法
代码片段如下:
int *p,num;
cout<<"请输入你的数组大小";
cin>>num; //运行时得到了数组大小
p=new int[num]; //根据需求动态申请内存
//这里可以输入数组并干活了
delete []p; //释放内存方法2:使用向量Vector
1)Vector是C++STL中提供的向量;
2)向量的大小可以动态改变;
3)向量可以通过下标访问元素(感觉像使用数组);
4)可以通过push_back向向量中添加元素并改变大小。
代码片段如下:
#include  //文件包含
//......
vector  myArray;
//可以根据数据需求用 myArray.push_back(整数);来添加元素
//可以通过下标访问向量元素
全部回答
  • 1楼网友:不想翻身的咸鱼
  • 2021-01-11 11:43
看看书 就知道了
  • 2楼网友:蕴藏春秋
  • 2021-01-11 10:38
动态分配数组空间
  • 3楼网友:一秋
  • 2021-01-11 09:45
数组必须是常量.知道什么叫常量吧?
不过你可以这样.char *ch =new char[i];这里的i可以是变量.但是也要是先确定的值.
还有你也可以作用C++的字符串,string 来接收一个数组.然后再使用这个字符串调用c_str函数将C++字符串换转为C字符串.最后去掉字符串末尾的'\0'就是一个数组了.
再有一个办法,自己写一个数组类并且重载[]下标.这个有点长就不帮你写了.
你先确定下你要的是哪种吧追问知道常量、也知道用指针,但是i 的大小还是不知道。。。。
方法三、方法四都给我写一下吧~~谢谢~~
方法三我们学过 atoi ,但不知怎么用。。。。
非常感谢!
  • 4楼网友:猎心人
  • 2021-01-11 08:51
我暂时保留我的看法!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息