【发布时间】:2015-11-05 15:53:19
【问题描述】:
所以这是我已经在代码上工作了 5 个小时的事情,逻辑看起来不错,程序似乎可以完成它的工作,唯一一直困扰我的是字符串的动态内存分配。该问题未指定用户必须输入的初始字符串数。这是我一直在尝试动态获取字符串的方法:
int t;
cin>>t //number of strings user wishes enter
char *s1[1000009]; //1000009 is the maximum number of digits each string can have
for(i=0;i<t;i++)
{
s1[i]=(char *)malloc(1000009)
cin>>s1[i];
}
不确定这是否正确。如果不是动态字符串,我也可以存储二维字符数组。
谢谢你, 高拉夫
【问题讨论】:
-
我认为你应该使用
std::vector和std::string。 -
不要使用
malloc进行手动动态分配。请改用new。根本不要使用手动动态分配。请改用std::string。 -
在堆栈上创建包含 1000009 个元素的数组是个坏主意。
标签: c++