Hva er en rekke strenger?

Strengen er en samling av tegn, en gruppe av en streng er en matrise av karakterer. Hver streng avsluttes med et nulltegn. Et utvalg av en streng er en av de vanligste anvendelsene av todimensjonale matriser.

scanf () er inngangsfunksjonen med% s format spesifiser for å lese en streng som inngang fra terminalen. Men ulempen er at den avsluttes så snart den møter plassen. For å unngå at denne får () -funksjon som kan lese et hvilket som helst antall strenger inkludert hvite mellomrom.

Sting er en rekke karakterer avsluttet med spesialtegnet kjent som null-tegnet (“\ 0”).

syntax

datatype name_of_the_array(size_of_elements_in_array);
char str_name(size);

Eksempel

datatype name_of_the_array ( ) = ( Elements of array );
char str_name(8) = “Strings”;

Str_name er strengnavnet og størrelsen definerer lengden på strengen (antall tegn).

En streng kan defineres som et endimensjonalt utvalg av tegn, så et utvalg av strenger er to – dimensjonale grupper med tegn.

syntax

char str_name(size)(max);

syntax

char str_arr(2)(6) = ( ('g', 'o', 'u', 'r', 'i', '\0'), ('r', ' a', ' m', '\0'));

Alternativt kan vi til og med erklære det som

syntax

char str_arr(2)(6) =(“gouri”, ”ram”);

Fra den gitte syntaks er det to underskripter, den første er for hvor mange strenger man skal erklære, og den andre er å definere den maksimale lengden på tegn som hver streng kan lagre, inkludert null-tegnet. C-konseptet forklarer allerede at hvert tegn tar 1 byte med data under tildeling av minne, eksempelet ovenfor på syntaks opptar 2 * 6 = 12 byte minne.

Eksempel

char str_name(8) = ('s', 't', 'r', 'i', 'n', 'g', 's', '\0');
By the rule of initialization of array, the above declaration can be written as
char str_name() = “Strings”;

0 1 2 3 4 5 6 7 Indeks

Variabler 2000 2001 2002 2003 2004 2005 2006 2007 Adresse

Dette er en representasjon av hvordan strengene blir allokert i minnet for den ovenfor deklarerte strengen i C.

Hvert tegn i strengen har en indeks og adresse tildelt hvert tegn i strengen. I representasjonen ovenfor plasseres nullkarakteren ("\ 0") automatisk av C-kompilatoren på slutten av hver streng når den initialiserer den ovenfor deklarerte matrisen. Vanligvis blir strenger deklarert ved å bruke doble anførselstegn i henhold til reglene for strengerinitiering, og når kompilatoren møter dobbeltsitater, legges den automatisk til nulltegn på slutten av strengen.

Fra eksemplet ovenfor, som vi vet at navnet på matrisen peker til den 0de indeksen og adressen 2000, ettersom vi allerede vet at indekseringen av en matrise starter fra 0. Derfor,

str_name + 0 points to the character “s”
str_name + 1 points to the character “t”

Som eksemplet ovenfor er for en-dimensjonal matrise, peker pekeren på hvert tegn i strengen.

Eksempler på Array String i C

#include
int main()
(
char name(10);
printf("Enter the name: ");
fgets(name, sizeof(name), stdin);
printf("Name is : ");
puts(name);
return 0;
)

Nå for todimensjonale matriser, har vi følgende syntaks og minnetildeling. For dette kan vi ta det som representasjon av rad og kolonne (tabellformat).

char str_name(size)(max);

I denne tabellrepresentasjonen definerer hver rad (første subscript) som antall strenger som skal lagres og kolonne (andre subscript) definerer strengens maksimale lengde.

char str_arr(2)(6) = ( ('g', 'o', 'u', 'r', 'i', '\0'), ('r', ' a', ' m', '\0'));

Alternativt kan vi til og med erklære det som

syntaks:

char str_arr(2)(8) =(“gouri”, ”ram”);

Hovedsiden

rader

0 1 2 3 4 5 6 7
0gourJeg\ 0\ 0\ 0
1renm\ 0\ 0\ 0\ 0\ 0

Fra eksemplet over som vi vet at navnet på matrisen peker til den 0de strengen. Derfor,

str_name + 0 peker til 0. streng “gouri”

str_name + 1 peker til 1. streng “ram”

Som eksemplet ovenfor er for todimensjonale matriser, så peker pekeren til hver streng av arrayen.

#include
int main()
(
int i;
char name(2)(8) = (
“gouri”,
“ram”
);
for (i = 0; i < 2; i++)
(
printf(“String = %s \n”, name + i, name + i);
)
return 0;
)

Produksjon:

Funksjoner av strenger

strcpy (s1, s2); denne funksjonen kopierer streng s2 innstikk s1.
char s1(10) = “gouri”;
char s2 (10) = “ram”;
char s3 (10) ;
strcpy(s3, s2);
result => strcpy(s3, s2) : ram

strcat (s1, s2); denne funksjonen koble sammen strengene s1 og s2, streng s2 blir lagt ved enden av strengen s1.
char s1(10) = “gouri”;
char s2 (10) = “ram”;
strcat(s1, s2);
result => strcat(s1, s2) : gouriram

StrLen (s1); denne funksjonen returnerer lengden på strengen s1.
char s1(10) = “gouri”;
strlen(s1);
result => 5

strcmp (s1, s2); Denne funksjonen sammenligner begge strengene s1 og s2.
style="list-style-type: none;">
style="list-style-type: none;">

strchr (s1, lm); disse funksjonene finner den første forekomsten av det gitte tegnet ch i strengen s1 og pekeren peker til dette tegnet i strengen.

strstr (s1, s2); dette finner den første forekomsten av streng s2 i strengen s1 og pekeren peker til strengen s2 i strengen s1.

Med noen ugyldige operasjoner er str_arr (0) = “gouri”; i denne operasjonen tildeles pekeren til strengen den konstante pekeren som er ugyldig og ikke er mulig, fordi navnet på matrisen er en konstant peker.

For å unngå dette kan vi tilordne str_arr ved å bruke strcpy (str_arr (0), "gouri").

Konklusjon

En matrise i seg selv definerer som en liste over strenger. Fra introduksjonen ovenfor kan vi konkludere med at deklarering og initialisering av strengene er forskjellige slik vi så for hver streng kompilatoren legger til nulltegn når den leser strengen som input. Det er mange strenghåndteringsfunksjoner, noen få funksjoner med eksempler er forklart ovenfor. Derfor er matriser av strengen like enkle som matriser.

Anbefalte artikler

Dette er en guide til en strengerray i C. Her diskuterer vi det grunnleggende for Array Strings, eksempel på Array String i C og Funksjoner av strenger. Du kan også gå gjennom de andre foreslåtte artiklene våre for å lære mer–

  1. String Array i C #
  2. Flerdimensjonal matrise i C.
  3. Arrays in C-programmering
  4. 2D Arrays i C #
  5. Hvordan fungerer Array i Unix med syntaks?