C++ 如何在C+中创建数组+;基于字符串数的输入?
我被一个任务困住了,我必须输入要处理的字符串的数量,然后分别显示偶数定位字符和奇数定位字符 在输入字符串数后,我对如何声明字符串数组感到困惑 我可以调用指向二维数组的指针并使用要处理的字符串数的int值吗?如果是,如何进行?如果没有,还有什么选择 我可以调用指向二维数组的指针并使用要处理的字符串数的int值吗?如果是,如何进行?如果没有,还有什么选择 是的,您可以使用C++ 如何在C+中创建数组+;基于字符串数的输入?,c++,arrays,pointers,multidimensional-array,C++,Arrays,Pointers,Multidimensional Array,我被一个任务困住了,我必须输入要处理的字符串的数量,然后分别显示偶数定位字符和奇数定位字符 在输入字符串数后,我对如何声明字符串数组感到困惑 我可以调用指向二维数组的指针并使用要处理的字符串数的int值吗?如果是,如何进行?如果没有,还有什么选择 我可以调用指向二维数组的指针并使用要处理的字符串数的int值吗?如果是,如何进行?如果没有,还有什么选择 是的,您可以使用malloc()动态分配内存,其中在()中指定其大小时,必须包含整数(字符串数)乘以字符串的字节数。(空字符的字符数+1) 但是,
malloc()
动态分配内存,其中在()
中指定其大小时,必须包含整数(字符串数)乘以字符串的字节数。(空字符的字符数+1)
但是,放弃这种方法显然更好,如前所述,使用std::string
s的std::vector
。对于您提出的问题:
在输入字符串数后,我对如何声明字符串数组感到困惑
声明一个字符串向量,用字符串填充它,然后在循环中运行输入编号(表示字符串数量),然后根据需要使用:
#包括
#包括
int main()
{
int n;//字符串数
标准:cin>>n;
std::vector stringvector;
std::字符串s;
对于(int i=0;i>s;stringvector.push_-back(s);
}
//[(AutoI:Srimvector)STD::CUD<代码> STD::向量SrAs/No.>不使用原始指针。当你想指向其他对象时,需要原始指针,但首先需要其他对象。用C++中的指针来处理,在上个世纪是好的,但不是现在;请增加你的努力=你写的代码。所以看起来你正在学习如何用C风格编程,即使你认为你在学习C++。在C语言中,您可以编写char**arr=malloc(number*sizeof(char*))代码>和类似的代码将在C++ >代码> CHAR**ARR=(CHAR**)Maloc(编号*siZeof(CHAR*))中工作;代码>。但是,你应该学习C++的方式,使用<代码> STD::向量和 STD::String ,更不让人困惑。我非常感谢你们的反馈。事实上,我是一名C程序员,已经脱离实践十多年了。我只想回到编码领域,学习新的语言和技术。我将尝试std::vector和std::string.:)谢谢你的指导。我想我是在走老路。但是现在,我开始了解我错过了什么。