string array c implementation representation with examples
En streng Array i C ++ er en Array of Strings. I denne vejledning vil vi grave i detaljerne i repræsentation og implementering af strengarrays i C ++:
Vi har set arrays i C ++ i vores tidligere tutorials. Arrays giver os mulighed for at erklære dataelementer af forskellige typer. Mens alle numeriske datatypers arrays er identiske i operationer og implementering, og arrays med strengdatatype er forskellige.
bedste app til at spionere på en persons telefon
I C ++ kan strengen repræsenteres som en række tegn eller ved hjælp af strengklasse, der understøttes af C ++. Hver streng eller matrixelement afsluttes med et null-tegn. Repræsentation af strenge ved hjælp af et tegn array er direkte taget fra 'C' sprog, da der ikke er nogen streng type i C.
=> Klik her for det gratis C ++ kursus.
Hvad du lærer:
Implementering af strengarrays
I C ++ kan strenge repræsenteres på tre måder.
- Brug af to-dimensionelle tegnarrays: Denne repræsentation bruger de to-dimensionelle arrays, hvor hvert element er skæringspunktet mellem et række- og kolonnetal og repræsenterer en streng
- Brug af streng nøgleord: Vi kan også bruge streng nøgleordet C ++ til at erklære og definere strengarrays.
- Brug af STL-vektorer: Vi kan bruge STL-vektorer, hvor hvert element i en vektor er en streng.
Lad os nu diskutere hver af ovenstående metoder og også se programmeringseksemplerne for hver repræsentation.
Brug af to-dimensionelle tegnarrays
Strengarrays eller en række strenge kan repræsenteres ved hjælp af en speciel form for todimensionale arrays. I denne repræsentation bruger vi et todimensionalt array af typetegn til at repræsentere en streng.
Den første dimension angiver antallet af elementer, dvs. strenge i det array, og den anden dimension angiver den maksimale længde for hvert element i arrayet.
Så vi kan bruge en generel repræsentation som vist nedenfor.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
For eksempel,overvej følgende erklæring:
char string_array(10) (20);
Ovenstående erklæring erklærer en række strenge med navnet 'string_array', der har 10 elementer, og længden af hvert element er ikke mere end 20.
Vi kan erklære og initialisere en række dyr ved hjælp af strenge på følgende måde:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
Lad os se et programmeringseksempel, der bruger begrebet todimensionelle tegnarrays for bedre at forstå konceptet.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Produktion:

I ovenstående program har vi erklæret en række strenge kaldet strArray af størrelse 5 med den maksimale længde af hvert element som 10. I programmet starter vi en for-loop til at vise hvert element i arrayet. Bemærk, at vi bare skal have adgang til arrayet ved hjælp af den første dimension for at vise elementet.
Nem adgang til elementer er en af de største fordele ved 2-D-arrays. De er faktisk enkle at programmere.
Den største ulempe ved denne type repræsentation er, at både arrayets dimensioner dvs. antal elementer og elementets maksimale længde er faste og ikke kan ændres, som vi ønsker.
For det andet angiver vi den maksimale længde for hvert element som den anden dimension under matrixdeklarationen. Hvis strenglængden er angivet som 100, og vi har alle de elementer, der er mindre i længden, spildes hukommelsen.
Brug af streng Nøgleord
I dette bruger vi nøgleordet 'streng' i C ++ til at erklære en række strenge. I modsætning til tegnarrays har vi her kun 1D-array. Den eneste dimension specificerer antallet af strenge i arrayet.
Den generelle syntaks for en række strengeerklæringer ved hjælp af nøgleordet er angivet nedenfor:
string “array name” (“number of strings”);
Bemærk, at vi ikke angiver den maksimale længde på strengen her. Dette betyder, at der ikke er nogen begrænsning på længden af arrayelementerne.
Som et eksempel kan vi erklære en række farvenavne på følgende måde.
string colors(5);
Vi kan yderligere initialisere dette array som vist nedenfor:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
Nedenfor er et C ++ - program til at forstå strengens nøgleord og dets anvendelse i en række strenge.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Produktion:

Vi har ændret vores tidligere karakter array-program og demonstreret brugen af streng nøgleord. Programmets output er den samme, men den måde, det opnås på, er forskellig, da vi definerer en række strenge ved hjælp af streng nøgleordet.
Bemærk, at arrayet med strenge, der bruger strengordet, har en fordel, hvor vi ikke har nogen begrænsninger for længden af strengene i arrayet. Da der ikke er nogen begrænsning, spilder vi heller ikke hukommelsesplads.
På ulempen har denne matrix en fast størrelse. Vi skal på forhånd erklære størrelsen på arrayet.
Brug af STL-vektorer
Vi kan også bruge STL-vektorer til at erklære og definere dynamiske arrays. For at definere en række strenge kan vi således have en STL-vektor af typen streng.
Denne erklæring om en række strenge ved hjælp af vektor er vist nedenfor:
vector “stringarray_Name”;
Under henvisning til ovenstående erklæring kan vi erklære en vektor 'emner' på følgende måde:
vector mysubjects;
Bemærk, at vi kan tildele elementer til vektoren ved hjælp af 'push_back' -metoden eller andre STL-vektormetoder.
Nedenfor er et programmeringseksempel, der bruger C ++ til at demonstrere brugen af STL-vektoren til at repræsentere en række strenge.
#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:'< Produktion:

I ovenstående program har vi en STL-vektor myNumbers af typen streng. Dernæst tilføjer vi elementer til denne vektor ved hjælp af push_back-metoden og viser derefter hvert af elementerne i vektoren.
Hvis vi ser hele bearbejdningen af STL-vektoren og række strenge, ser vi, at i dette tilfælde har vi ikke en grænse for antallet af elementer i arrayet eller den maksimale længde af hvert element. Vi ser, at række strenge, der bruger vektorer, er helt dynamisk og kan reduceres eller øges dynamisk.
Hvordan vælges den repræsentation, der skal bruges?
Nu hvor vi har set alle de tre repræsentationer af strengarrays, kan vi konkludere, at ud af alle tre repræsentationer er vektorrepræsentationen den bedste, da den er dynamisk.
Det afhænger af formålet og kravene til strengarrayet. Når vi har kravet om, at vi har brug for et strengstørrelsesarray i fast størrelse, og vi kender de nøjagtige data, der skal ind i et strengarray, så kan vi gå efter tegnarray eller strengrepræsentation.
Når vi ønsker, at strengarrayet skal vokse eller krympe dynamisk, kan vi ty til vektorrepræsentation, da det hjælper os med at udvikle programmer ved dynamisk at ændre arrayet.
Konklusion
Strengarrays er specielle arrays med data som strenge. Dette betyder, at hvert element i arrayet er en streng, der afsluttes med nul tegn.
Vi har diskuteret tre repræsentationer af en streng array i detaljer sammen med deres fordele og ulemper. Afhængigt af vores krav; vi kan bruge enhver repræsentation af strengarrayet, der passer til vores implementering.
tidskortapp til iPhone og Android
I vores efterfølgende tutorials vil vi fortsætte med at udforske C ++ - strenge og C ++ - funktioner i detaljer.
=> Læs gennem Easy C ++ træningsserien.
Anbefalet læsning
- Java Array Length Tutorial med kodeeksempler
- Java String med String Buffer og String Builder Tutorial
- C # String Tutorial - Strengmetoder med kodeeksempler
- Python-strengfunktioner
- C ++ arrays med eksempler
- Strenge i C ++ med eksempler
- C # tilfældigt nummer og C # tilfældig strenggenerator med kodeeksempler
- Heapsortering i C ++ med eksempler