Hvad er en række strenge?

Strengen er en samling af tegn, en matrix af en streng er en matrix af matriser af tegn. Hver streng afsluttes med et nulltegn. En matrix af en streng er en af ​​de mest almindelige anvendelser af to-dimensionelle arrays.

scanf () er inputfunktionen med% s formatspecifikator for at læse en streng som input fra terminalen. Men ulempen er, at den ophører, så snart den støder på pladsen. For at undgå dette får denne funktion (), som kan læse et vilkårligt antal strenge inklusive hvide rum.

Sting er en matrix med karakterer, der afsluttes med det specialtegn, der kaldes nul-tegnet (“\ 0”).

Syntaks

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_navn er strengnavnet, og størrelsen definerer længden på strengen (antal tegn).

En streng kan defineres som en endimensional matrix af tegn, så en matrix af strenge er to –dimensional matrix af tegn.

Syntaks

char str_name(size)(max);

Syntaks

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

Alternativt kan vi endda erklære det som

Syntaks

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

Fra den givne syntaks er der to underskrifter, hvoraf den første er for hvor mange strenge der skal erklæres, og den anden er at definere den maksimale længde af tegn, som hver streng kan gemme inklusive nul-tegnet. C-koncept forklarer allerede, at hvert tegn tager 1 byte data, mens der tildeles hukommelse, ovenstående eksempel på syntaks optager 2 * 6 = 12 byte hukommelse.

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 2006 2007 Adresse

Dette er en repræsentation af, hvordan strenge tildeles i hukommelsen til den ovenfor deklarerede streng i C.

Hvert tegn i strengen har et indeks og adresse tildelt til hvert tegn i strengen. I ovenstående repræsentation placeres nulkarakteren (“\ 0”) automatisk af C-kompilatoren i slutningen af ​​hver streng, når den initialiserer den ovenfor deklarerede matrix. Normalt deklareres strenge ved hjælp af dobbeltcitater i henhold til reglerne for strengeinitialisering, og når kompilatoren støder på dobbeltcitater, tilføjes det automatisk et tegn i slutningen af ​​strengen.

Fra det ovenstående eksempel, som vi ved, at navnet på matrixen peger på det 0de indeks og adresse 2000, da vi allerede ved, at indekseringen af ​​en matrix starter fra 0. Derfor

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

Som ovenstående eksempel er for en-dimensionel matrix, så peger pegeren 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;
)

Nu for to-dimensionelle arrays har vi følgende syntaks og hukommelsesallokering. Til dette kan vi tage det som række- og kolonnerepræsentation (tabelformat).

char str_name(size)(max);

I denne tabelrepræsentation definerer hver række (første underskrift) som antallet af strenge, der skal gemmes, og kolonne (andet underskrift) definerer strengens maksimale længde.

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

Alternativt kan vi endda erklære det som

Syntaks:

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

Indeks

rækker

0 1 2 3 4 5 6 7
0gourjeg\ 0\ 0\ 0
1r-enm\ 0\ 0\ 0\ 0\ 0

Fra det ovenstående eksempel, som vi ved, at navnet på matrixen peger på den 0. streng. Derfor,

str_name + 0 peger på 0th streng “gouri”

str_name + 1 peger på 1. streng “ram”

Som ovenstående eksempel er for to-dimensionelle arrays, så peger pegeren på hver streng i arrayet.

#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;
)

Produktion:

Funktioner af strenge

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

strcat (s1, s2); denne funktion sammenkæder strenge s1 og s2, streng s2 tilføjes i slutningen af ​​strengen s1.
char s1(10) = “gouri”;
char s2 (10) = “ram”;
strcat(s1, s2);
result => strcat(s1, s2) : gouriram

strlen (s1); denne funktion returnerer længden på strengen s1.
char s1(10) = “gouri”;
strlen(s1);
result => 5

strcmp (s1, s2); Denne funktion sammenligner både strengene s1 og s2.
style="list-style-type: none;">
style="list-style-type: none;">

strchr (s1, ch); disse funktioner finder den første forekomst af det givne tegn ch i strengen s1 og markøren peger på dette tegn i strengen.

strstr (s1, s2); dette finder den første forekomst af streng s2 i strengen s1, og markøren peger på strengen s2 i strengen s1.

Med nogle ugyldige operationer er str_arr (0) = "gouri"; i denne operation tildeles pointeren af ​​strengen til den konstante markør, der er ugyldig og ikke er mulig, fordi array-navnet er en konstant markør.

For at undgå dette kan vi tildele str_arr ved hjælp af strcpy (str_arr (0), "gouri").

Konklusion

En matrix i sig selv definerer som en liste over strenge. Fra ovenstående introduktion kan vi konkludere, at erklæring og initialisering af strenge er forskellige, som vi så for hver streng kompilatoren tilføjer nulkarakter, når den læser strengen som input. Der er mange strenghåndteringsfunktioner, et par funktioner med eksempler er forklaret ovenfor. Derfor er matriser af strengen lige så lette som matriser.

Anbefalede artikler

Dette er en guide til en strenge-array i C. Her diskuterer vi det grundlæggende i Array-strenge, eksempel på Array-streng i C og Funktioner af strenge. Du kan også gennemgå vores andre foreslåede artikler for at lære mere–

  1. String Array i C #
  2. Multidimensionel matrix i C.
  3. Arrays i C-programmering
  4. 2D-arrays i C #
  5. Hvordan fungerer array i Unix med syntaks?

Kategori: