C++字符串数组完全指南:从入门到精通
嘿,大家好!作为程序员,我们经常处理各种数据类型的数组。今天的文章中,我们将介绍C++字符串数组。
如何声明一个C++字符串数组

1. 在C++中使用关键字String来创建字符串数组
C++ 提供了 “string” 关键字来声明和操作字符串数组中的数据。
字符串关键字根据动态或运行时的需要为数组的元素分配内存,从而避免了静态内存分配数据元素的麻烦。
语法:使用’string’关键字声明一个字符串数组
string array-name[size];
此外,我们可以使用以下语法来初始化字符串数组。
string array-name[size]={"val1","val2",.....,"valN"};
例子1:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string fruits[5] = { "Grapes", "Apple","Pineapple", "Banana", "Jackfruit" };
cout<<"字符串数组:\n";
for (int x = 0; x< 5; x++)
cout << fruits[x] << "\n";
}
在上述的例子中,我们初始化了字符串数组,并使用C++的循环来遍历数组并打印出字符串数组中存在的数据项。
输出:
字符串数组:
Grapes
Apple
Pineapple
Banana
Jackfruit
例子2:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string arr[5];
cout<<"输入元素:"<<endl;
for(int x = 0; x<5;x++)
{
cin>>arr[x];
}
cout<<"\n字符串数组:\n";
for (int x = 0; x< 5; x++)
cout << arr[x] << "\n";
}
正如你们可以看到的,在上面的例子中,我们接受了字符串数组的数据项来自控制台即用户输入被获取,然后我们打印出了字符串数组的元素。
输出:
输入元素:
Jim
Nick
Daisy
Joha
Sam
字符串数组:
Jim
Nick
Daisy
Joha
Sam
使用C++ STL容器 – 向量
这是文章《理解C++字符串数组》的第2部分(共4部分)。
C++标准模板库为我们提供了容器来高效地处理和存储数据。
向量是这样一种容器,它以动态方式存储数组元素。因此,C++ 向量可以用于创建字符串数组并轻松操作它们。
语法:
vector<string>array-name;
- vector.push_back(element)方法用于向向量字符串数组添加元素。
- vector.size()方法用于计算数组的长度,即输入到字符串数组中的元素计数。
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<string> arr;
arr.push_back("Ace");
arr.push_back("King");
arr.push_back("Queen");
int size = arr.size();
cout<<"向量数组元素:"<<endl;
for (int x= 0; x< size; x++)
cout << arr[x] << "\n";
}
结果:
向量数组元素:
Ace
King
Queen
3. 使用二维字符数组
C++字符串数组:二维字符数组实现
在C++中,二维字符数组是表示字符串数组的常用方法。通过使用二维字符数组,我们可以有效地存储和操作多个字符串。
字符数组在静态或编译时创建并存储元素,这意味着元素的数量和大小在程序运行期间保持固定不变。
语法格式:
char 数组名[元素数量][字符串最大长度];
代码示例:
#include <iostream>
using namespace std;
int main()
{
// 创建一个能存储5个水果名称的字符数组,每个名称最长10个字符
char 水果[5][10] = { "葡萄", "苹果", "菠萝", "香蕉", "菠萝蜜" };
cout << "字符数组内容:\n";
for (int i = 0; i < 5; i++)
cout << 水果[i] << "\n";
}
在上述代码片段中,我们创建了一个字符数组来存储字符串类型的元素,即char 水果[5][10]
。这里的5
表示字符串元素的数量,而10
则表示每个字符串的最大长度。
输出结果:
字符数组内容:
葡萄
苹果
菠萝
香蕉
菠萝蜜
将C++中的字符串数组作为函数参数
这是文章《理解C++字符串数组》的第4部分(共4部分)。
一个字符串数组也可以像其他非字符串类型数组一样作为参数传递给一个函数。
句法:
return-type function-name(string array-name[size])
{
// 函数体
}
以下是一个完整的示例代码:
#include <iostream>
#include<string>
using namespace std;
void show(string arr[4]){
for(int x=0;x<4;x++)
{
cout<<arr[x]<<endl;
}
}
int main() {
string arr[4] = {"Jim", "Jeo", "Jio", "John"};
cout<<"打印字符串数组的元素:"<<endl;
show(arr);
}
输出:
打印字符串数组的元素:
Jim
Jeo
Jio
John
结论
在本文中,我们已经了解了创建字符串数组的方法以及在函数中使用它的技巧。
参考资料
- 将C++字符串数组传递给函数
- 在C++中访问字符串数组的元素