string array c implementation representation with examples
En streng Array i C ++ er en Array of Strings. I denne opplæringen vil vi grave i detaljene om representasjon og implementering av strengarrays i C ++:
Vi har sett matriser i C ++ i våre tidligere opplæringsprogrammer. Arrays tillater oss å erklære dataelementer av forskjellige typer. Mens alle numeriske datatypers matriser er identiske i operasjoner og implementering, og matriser med strengdatatype er forskjellige.
hvor er sikkerhetsnøkkelen på en ruter
I C ++ kan strengen representeres som en rekke tegn eller ved hjelp av strengklasse som støttes av C ++. Hver streng eller matriseelement avsluttes med et nulltegn. Å representere strenger ved hjelp av en tegnmatrise er direkte hentet fra 'C' -språket, da det ikke er noen strengtype i C.
=> Klikk her for gratis C ++ kurs.
Hva du vil lære:
Implementering av strengarrays
I C ++ kan strenger vises på tre måter.
- Ved hjelp av todimensjonale tegnarrayer: Denne representasjonen bruker de todimensjonale matriser der hvert element er skjæringspunktet mellom et rad- og kolonnetall og representerer en streng
- Bruker streng nøkkelord: Vi kan også bruke strengnøkkelordet til C ++ for å erklære og definere strengarrayer.
- Bruke STL-vektorer: Vi kan bruke STL-vektorer der hvert element i en vektor er en streng.
La oss nå diskutere hver av metodene ovenfor og også se programmeringseksemplene for hver representasjon.
Bruk av todimensjonale tegnarrayer
Strengarrayer eller en rekke strenger kan vises med en spesiell form for todimensjonale matriser. I denne representasjonen bruker vi et todimensjonalt utvalg av typetegn for å representere en streng.
Den første dimensjonen spesifiserer antall elementer, dvs. strenger i den matrisen, og den andre dimensjonen spesifiserer den maksimale lengden på hvert element i matrisen.
Så vi kan bruke en generell representasjon som vist nedenfor.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
For eksempel,vurder følgende erklæring:
char string_array(10) (20);
Ovennevnte erklæring erklærer en rekke strenger med navnet ‘string_array’ som har 10 elementer og lengden på hvert element ikke er mer enn 20.
Vi kan erklære og initialisere en rekke dyr ved hjelp av strenger på følgende måte:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
La oss se et programmeringseksempel som bruker begrepet todimensjonale tegnsett for å bedre forstå konseptet.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Produksjon:

I det ovennevnte programmet har vi erklært en rekke strenger kalt strArray av størrelse 5 med maks lengde på hvert element som 10. I programmet starter vi en for loop for å vise hvert element i arrayet. Merk at vi bare trenger å få tilgang til matrisen ved hjelp av den første dimensjonen for å vise elementet.
Enkel tilgang til elementer er en av de største fordelene med 2-D-arrays. De er virkelig enkle å programmere.
Den største ulempen med denne typen representasjon er at både dimensjonene til matrisen, dvs. antall elementer og den maksimale lengden på elementet, er faste og kan ikke endres slik vi ønsker.
For det andre spesifiserer vi den maksimale lengden på hvert element som den andre dimensjonen under erklæringen av matrisen. Hvis strenglengden er spesifisert som 100, og vi har alle elementene som er mindre i lengde, blir minnet bortkastet.
Bruker streng Nøkkelord
I dette bruker vi nøkkelordet ‘string’ i C ++ for å erklære en rekke strenger. I motsetning til tegneserier har vi her bare 1D-array. Den eneste dimensjonen spesifiserer antall strenger i matrisen.
Den generelle syntaksen for en rekke strengerklæringer ved hjelp av strengnøkkelordet er gitt nedenfor:
string “array name” (“number of strings”);
Merk at vi ikke spesifiserer den maksimale lengden på strengen her. Dette betyr at det ikke er noen begrensning på lengden på matriseelementene.
Som et eksempel kan vi erklære en rekke fargenavn på følgende måte.
string colors(5);
Vi kan videre initialisere denne matrisen som vist nedenfor:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
Nedenfor er et C ++ - program for å forstå strengnøkkelordet og dets bruk i en rekke strenger.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Produksjon:

Vi har endret vårt forrige tegnarrayprogram og demonstrert bruken av strengord. Resultatet av programmet er det samme, men måten det oppnås på er forskjellig når vi definerer en rekke strenger ved hjelp av strengnøkkelordet.
Merk at matrisen med strenger som bruker strengordet, har en fordel der vi ikke har noen begrensninger på lengden på strengene i matrisen. Siden det ikke er noen begrensning, kaster vi ikke bort minneplass også.
På nedsiden har denne matrisen en fast størrelse. Vi må erklære størrelsen på matrisen på forhånd.
Bruke STL-vektorer
Vi kan også bruke STL-vektorer for å erklære og definere dynamiske matriser. For å definere en rekke strenger kan vi således ha en STL-vektor av typen streng.
Denne erklæringen om en rekke strenger ved hjelp av vektor er vist nedenfor:
vector “stringarray_Name”;
Med henvisning til ovennevnte erklæring, kan vi erklære en vektor 'emner' på følgende måte:
hvordan du legger til et element i en matrise i java
vector mysubjects;
Merk at vi kan tildele elementer til vektoren ved å bruke “push_back” -metoden eller andre STL-vektormetoder.
Nedenfor er et programmeringseksempel som bruker C ++ for å demonstrere bruken av STL-vektoren for å representere en rekke strenger.
#include #include using namespace std; int main() { vector myNumbers; myNumbers.push_back('one'); myNumbers.push_back('two'); myNumbers.push_back('three'); myNumbers.push_back('four'); myNumbers.push_back('five'); cout<<'String array is as follows:'< Produksjon:

I programmet ovenfor har vi en STL-vektor myNumbers av typen streng. Deretter legger vi til elementer i denne vektoren ved hjelp av push_back-metoden og viser deretter hvert av elementene i vektoren.
Hvis vi ser hele virkningen av STL-vektoren og strengstrengen, ser vi at i dette tilfellet har vi ikke en begrensning på antall elementer i matrisen eller maksimal lengde på hvert element. Vi ser at rekke strenger ved bruk av vektorer er helt dynamiske og kan reduseres eller økes dynamisk.
Hvordan velge representasjonen som skal brukes?
Nå som vi har sett alle de tre representasjonene av strengarrays, kan vi konkludere med at av alle tre representasjonene er vektorrepresentasjonen den beste siden den er dynamisk.
Det avhenger av formålet og kravene til strengmatrisen. Når vi har kravet om at vi trenger en strengstørrelse i fast størrelse og vi vet nøyaktige data som vil gå inn i en strengmatrise, så kan vi gå for tegnmatrise eller strengrepresentasjon.
Når vi vil at strengmatrisen skal vokse eller krympe dynamisk, kan vi ty til vektorrepresentasjon, da det vil hjelpe oss å utvikle programmer ved å endre matrisen dynamisk.
Konklusjon
Strengarrayer er spesielle arrays med data som strenger. Dette betyr at hvert element i matrisen er en streng som avsluttes med nulltegn.
Vi har diskutert tre representasjoner av en strengoppstilling i detalj sammen med fordeler og ulemper. Avhengig av våre krav; vi kan bruke hvilken som helst representasjon av strengmatrisen som passer til vår implementering.
I våre påfølgende opplæringsprogrammer vil vi fortsette å utforske C ++ - strenger og C ++ - funksjoner i detalj.
=> Les gjennom Easy C ++ Training Series.
Anbefalt lesing
- Java Array Length Tutorial med kodeeksempler
- Java String with String Buffer and String Builder Tutorial
- C # String Tutorial - Strengmetoder med kodeeksempler
- Python-strengfunksjoner
- C ++ arrays med eksempler
- Strenger i C ++ med eksempler
- C # Tilfeldig nummer og C # Tilfeldig strenggenerator med kodeeksempler
- Haugsortering i C ++ med eksempler