Въведение в String Array в C ++
Има много типове данни в C ++, като цяло число, float, символ, низ. Типът на низовите данни е масив от символи, завършващ с нулев символ ('\ 0'), който обозначава края на масива или низа. C не ги имаше като такъв низ от типа данни, поради което трябваше да оформим символен масив, за да образуваме низ. В C ++ имаме вградения низ от данни.
Пример за характер: 'a' или 'A'
Пример на низ (C ++): „Английски“
String: масив от символи: String (0) = 'E'
String (1) = 'n'
String (2) = 'g'
String (3) = 'l'
String (4) = 'i'
String (5) = 's'
String (6) = 'h'
String (7) = '\ 0'
Низовете могат да бъдат декларирани, написани и отпечатани директно в C ++. Също така, всеки символ в низ може да бъде достъпен с помощта на индекс, подобен на индексирането в масива. В случая на низа, когато четем под формата на символен масив с помощта на scanf (), той ще спре низа или функцията за четене, когато намери първото бяло пространство. За да избегнете това, функцията get () може да се използва. Това чете цял ред и ще спре да чете само когато потребителят натисне „Enter“.
String Array в C ++ масив от множество низове
String array или Array of string е масив от множество низове. Това може да се декларира, както следва:
string Animals(4) = ("Elephant", "Fox", "Lion", "Tiger");
За да отпечатате целия низ от масиви, за цикъл може да се използва:
Код:
for(int i = 0; i<4; i++) (
cout << Animals(i) << endl;
)
изход:
Как да получите достъп до елементите от String Array?
Масивът от низове е подобен на двуизмерен масив. Първото измерение или индекс указва индекса на низ от масива като 1- ва дума / низ или 2- ра дума / низ и така нататък. Като има предвид, че второто измерение или индекс указва кой символ в тази конкретна дума / низ.
За да го обясните с ясен пример:
Animals(2)(1) = 'i'
В горния пример първият индекс '2' уточнява, че това е вторият низ от масива: „Tiger”. Вторият индекс „1“ уточнява, че е втората буква или индекс 1 от думата „Тигър“. Използването на двуизмерното индексиране на всеки знак от всеки низ може да се получи лесно.
Разпределение или дефиниране на стринг масив
Има различни методи за разпределение на масив от низове:
1. 2D масив от Char (който може да се използва и в C)
char име (макс. брой елементи) (макс. размер на всеки елемент)
цвят цвят (4) (8) = ("син", "червен", "бял", "черен")
Код:
int main() (
char color(4)(8) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)
Резултат :
Тук цветът на масива е с фиксиран размер, тоест броят на елементите е фиксиран и също е фиксиран броят на знаците или размерите на елемента. Максималният брой елементи, които могат да бъдат определени, е 4 и всеки може да има максимум 8 знака, не повече от това. Това е основната бариера в 2d символния масив.
2. Масив с ключова дума String (възможно само в C ++)
име на низ (макс. брой елементи)
цвят на низ (4) = ("син", "червен", "бял", "черен")
Код:
int main() (
string color(4) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)
Резултат :
Тук само едно измерение е фиксирано, когато го декларираме като низ от масив. Фиксиран е само броят на елементите. Размерът на елемента може да варира. Но посочвайки второто измерение можем да получим достъп или да покажем конкретния символ от съответния низ.
3. Използване на вектори в C ++
векторно име
цветен вектор
Код:
#include
#include
using namespace std;
int main()
(
vector color;
color.push_back("blue");
color.push_back("red");
color.push_back("white");
color.push_back("black");
for(int i = 0; i cout << color(i) << endl;
)
return 0;
)#include
#include
using namespace std;
int main()
(
vector color;
color.push_back("blue");
color.push_back("red");
color.push_back("white");
color.push_back("black");
for(int i = 0; i cout << color(i) << endl;
)
return 0;
)
изход:
Тук тя е динамично разпределена, паметта се разпределя от грамадата. Размерът не е фиксиран. Може да се увеличи или намали според броя на елементите. В случай на динамично разпределение на низови масиви с помощта на командата “new”, трябва ръчно да разпределим разпределената памет. Но при вектора това не е необходимо. Пренасочването е възможно във вектор, докато не е възможно в динамично разпределения масив.
4. Преминаване на String Array във функция
String Array може да бъде предаден на функция, подобна на Как предаваме масив.
Код:
#include
#include
using namespace std;
void display(string s(5))(
cout << s(2) ;
)
int main() (
string str(5) = ("Good", "Bad", "Positive", "Negative");
display(str);
)
Резултат :
Тук предаваме str string на масива като параметър на функция „display“, която отпечатва 3 -тия елемент от масивния низ („Позитивен“).
5. Копиране от String Array в друг
За да копираме от String Array в друг, Ние трябва да копираме всеки елемент поотделно, но целият масив не може да бъде копиран с един изстрел.
Код:
int main() (
string str(4) = ("Good", "Bad", "Positive", "Negative");
string s(4);
// s = str; -à This line gives error as the whole array cannot be copied at a single go
// It can be copied as shown below
for( int i=0; i<4; i++) (
s(i) = str(i);
)
for(int i=0; i<4; i++) (
cout << "The element " << i+1 << " of copied array = " << s(i) << " is same as
the corresponding element in main array which is " << str(i) << endl;
)
)
Изход за грешка:
изход:
Тук, когато се опитахме да копираме целия основен низ низ (str) в друг низ (и), ние получихме грешка (както е показано на screenshot1), докато когато го копирахме елемент по елемент, str беше копиран в s и можем да проверим това като видите втория екран на изхода.
заключение
По този начин низът е тип данни, който е масив от знаци и присъства само в C ++. В C използвахме за деклариране като символен масив. Масивът от низове е масив, съставен от много низове. Когато е деклариран статично или динамично, той е с фиксиран размер и когато е деклариран под формата на вектор, размерът не е фиксиран. Всеки елемент и знакът в конкретен елемент могат лесно да бъдат достъпни с помощта на индексиране на низ от масиви.
Препоръчителни статии
Това е ръководство за String Array в C ++. Тук обсъждаме как да излишите елемент в String Array в C ++ и разпределението на String Array в C ++. Можете също да разгледате и другите ни свързани статии, за да научите повече-
- String Array в Python
- StringBuffer в Java
- Функции на струнния питон
- Масиви в C ++
- Въведение в String Array в C #
- Топ 11 функции и предимства на C ++
- Топ 8 сравнения на String срещу StringBuilder
- Работа с масив в Unix със синтаксис?