Понимание массива строк C++

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

Способы объявления массива строк C++

Ways To Create C++ String Array

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