Привет, ребята! Так как программисты мы часто имеем дело с массивами всех типов данных. Сегодня в статье мы рассмотрим массив строк C++.
Способы объявления массива строк C++

1. Ключевое слово String для создания массива строк в C++
C++ provides us with ‘string’ keyword to declare and manipulate data in a String array.
Ключевое слово 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<<"String array:\n";
for (int x = 0; x< 5; x++)
cout << fruits[x] << "\n";
}
В приведенном выше примере мы проинициализировали массив строк и использовали циклы C++ для обхода массива и вывода элементов массива строк.
Результат:
String array:
Grapes
Apple
Pineapple
Banana
Jackfruit
Пример 2:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string arr[5];
cout<<"Enter the elements:"<<endl;
for(int x = 0; x<5;x++)
{
cin>>arr[x];
}
cout<<"\nString array:\n";
for (int x = 0; x< 5; x++)
cout << arr[x] << "\n";
}
Как вы можете видеть, в приведенном выше примере мы вводим элементы массива строк с консоли, то есть принимаем ввод от пользователя, и выводим элементы массива строк.
Вывод:
Enter the elements:
Jim
Nick
Daisy
Joha
Sam
String array:
Jim
Nick
Daisy
Joha
Sam
2. Использование контейнера C++ STL – Вектор
C++ Standard Template Library provides us with containers to work with data and store it efficiently.
Вектор, будучи одним из таких контейнеров, хранит элементы массива динамически. Таким образом, Векторы C++ могут быть использованы для создания массива строк и легкой манипуляции ими.
Синтаксис:
vector<string>array-name;
- Метод
vector.push_back(элемент)
используется для добавления элементов в векторный массив строк. - Метод
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<<"Elements of the vector array:"<<endl;
for (int x= 0; x< size; x++)
cout << arr[x] << "\n";
}
Вывод:
Elements of the vector array:
Ace
King
Queen
3. Использование двумерного массива символов
A 2D array represents an array of string in C++. So, we can use a 2D char array to represent string type elements in an array.
Массив символов создает и хранит элементы на этапе статического или времени компиляции, т.е. количество и размер элементов остаются неизменными/константными.
Синтаксис:
char array-name[number-of-items][maximun_size-of-string];
Пример:
#include <bits/stdc++.h>
using namespace std;
int main()
{
char fruits[5][10] = { "Grapes", "Apple","Pineapple", "Banana", "Jackfruit" };
cout<<"Character array:\n";
for (int x = 0; x< 5; x++)
cout << fruits[x] << "\n";
}
В приведенном выше коде мы создали массив char для хранения строковых элементов. т.е. char array[5][10]. Здесь 5 указывает на количество строковых элементов, а 10 указывает на максимальный размер вводимой строки.
Вывод:
Character array:
Grapes
Apple
Pineapple
Banana
Jackfruit
C++ String Array as an Argument to a Function
A string array can also be passed to a function as an argument the same way as another non-string type array is passed to it.
Синтаксис:
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<<"Printing elements of the string array:"<<endl;
show(arr);
}
Вывод:
Printing elements of the string array:
Jim
Jeo
Jio
John
Вывод
В этой статье мы разобрали способы создания массивов строк и техники их использования в функциях.
Ссылки
Source:
https://www.digitalocean.com/community/tutorials/string-array-in-c-plus-plus