Introduktion till String Array i C ++
Det finns många datatyper i C ++, som heltal, float, karaktär, sträng. Strängdatatypen är en grupp tecken som slutar med ett nolltecken ('\ 0') som anger slutet på arrayen eller strängen. C hade inte dem som sådan datatypsträngen, på grund av vilken vi var tvungna att bilda en teckenuppsättning för att bilda en sträng. I C ++ har vi den inbyggda datatypsträngen.
Exempel på karaktär: 'a' eller 'A'
Exempel på sträng (C ++): “Engelska”
String: array of character: String (0) = 'E'
Sträng (1) = 'n'
Sträng (2) = 'g'
Sträng (3) = 'l'
Sträng (4) = 'i'
Sträng (5) = 's'
Sträng (6) = 'h'
Sträng (7) = '\ 0'
Strängar kan deklareras, skrivas och skrivas ut direkt i C ++. Dessutom kan varje tecken i en sträng nås med hjälp av ett index som liknar indexering i arrayen. När det gäller strängen, när vi läser i form av en teckenuppsättning med scanf (), kommer den att stoppa strängen eller läsfunktionen när den hittar det första vita utrymmet. För att undvika att denna får () -funktion kan användas. Detta läser en hel rad och slutar bara läsa när användaren träffar 'Enter'.
String Array i C ++ en matris med flera strängar
Strängarray eller Array of strings är en matris med flera strängar. Detta kan förklaras på följande sätt:
string Animals(4) = ("Elephant", "Fox", "Lion", "Tiger");
För att skriva ut hela strängmatrisen kan för loop användas:
Koda:
for(int i = 0; i<4; i++) (
cout << Animals(i) << endl;
)
Produktion:
Hur får man tillgång till elementen från String Array?
Arrayen av strängar liknar en tvådimensionell matris. Den första dimensionen eller indexet anger strängindex från det arrayliknande 1: a ordet / strängen eller det andra ordet / strängen och så vidare. Medan den andra dimensionen eller indexet anger vilket tecken i det specifika ordet / strängen.
För att förklara det med ett tydligt exempel:
Animals(2)(1) = 'i'
I exemplet ovan specificerar det första indexet '2' det är den andra strängen från matrisen: "Tiger". Det andra indexet '1' anger att det är den andra bokstaven eller index 1 från ordet "Tiger". Med hjälp av den 2-dimensionella indexeringen kan man enkelt komma åt varje tecken från varje sträng.
Tilldelning eller definiering av strängarray
Det finns olika metoder för tilldelning av en rad strängar:
1. 2D Array of Char (som också kan användas i C)
char Namn (max antal element) (max storlek för varje element)
kolfärg (4) (8) = ("blå", "röd", "vit", "svart")
Koda:
int main() (
char color(4)(8) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)
Utgång :
Här är matrisfärgen av fast storlek, det vill säga antalet element är fast och antalet tecken eller storlekar på elementet är också fast. Det maximala antalet element som kan definieras är 4 och vardera kan ha högst 8 tecken inte mer än det. Detta är den huvudsakliga barriären i arrayen för 2d-tecken.
2. Array med nyckelordsträng (endast möjligt i C ++)
sträng Namn (max antal element)
strängfärg (4) = ("blå", "röd", "vit", "svart")
Koda:
int main() (
string color(4) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)
Utgång :
Här är bara en dimension fixad när vi förklarar den som en stränguppsättning. Endast antalet element är fast. Elementets storlek kan variera. Men när du anger den andra dimensionen kan vi komma åt eller visa det specifika tecknet från en respektive sträng.
3. Använda vektorer i C ++
vektor Namn
vektor färg
Koda:
#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;
)
Produktion:
Här fördelas det dynamiskt, minnet tilldelas från högen. Storleken är inte fast. Det kan öka eller minska enligt antalet element. Vid dynamisk allokering av strängmatris med kommandot “nytt” måste vi manuellt fördela det tilldelade minnet. Men för vektor är detta inte nödvändigt. Omfördelning är möjlig i vektor medan det inte är möjligt i den dynamiskt allokerade matrisen.
4. Passing String Array i en funktion
String Array kan överföras till en funktion som liknar Hur vi passerar en array.
Koda:
#include
#include
using namespace std;
void display(string s(5))(
cout << s(2) ;
)
int main() (
string str(5) = ("Good", "Bad", "Positive", "Negative");
display(str);
)
Utgång :
Här vidarebefordrar vi stränguppsättningen str som en parameter till en funktion "display" som skriver ut det tredje elementet i stränguppsättningen ("Positiv").
5. Att hantera från String Array till en annan
För att kopiera från en strängarray till en annan, bör vi kopiera varje element individuellt men hela arrayen kan inte kopieras på en enda bild.
Koda:
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;
)
)
Felutgång:
Produktion:
Här när vi försökte kopiera hela huvudsträngarrayen (str) till en annan strängarray (er) fick vi ett fel (som visas på skärmdump1) medan när vi kopierade det element för element kopierades str till s och vi kunde verifiera detta genom att se den andra bildskärmbilden.
Slutsats
Således är strängen en datatyp som är en grupp tecken och den finns endast i C ++. I C brukade vi förklara som en teckenuppsättning. Arrayen av strängar är en matris bestående av många strängar. När den deklareras statiskt eller dynamiskt är den av fast storlek och när den deklareras i form av en vektor är storleken inte fixerad. Varje element och tecknet i ett specifikt element kan lätt nås med indexering av strängarray.
Rekommenderade artiklar
Detta är en guide till String Array i C ++. Här diskuterar vi hur man överskottar element i String Array i C ++, och fördelningen av String Array i C ++. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer-
- String Array i Python
- StringBuffer i Java
- Python-strängfunktioner
- Matriser i C ++
- Introduktion till String Array i C #
- Topp 11 funktioner och fördelar med C ++
- Topp 8 jämförelser av String vs StringBuilder
- Array Arbeta i Unix med Syntax?