Wat is een stringreeks?

De reeks is een verzameling tekens, een reeks van een reeks is een reeks reeksen tekens. Elke string wordt afgesloten met een nul-teken. Een array van een string is een van de meest voorkomende toepassingen van tweedimensionale arrays.

scanf () is de invoerfunctie met% s format specifier om een ​​string te lezen als invoer van de terminal. Maar het nadeel is dat het eindigt zodra het de ruimte tegenkomt. Om dit te voorkomen, krijgt de functie () een willekeurig aantal tekenreeksen, inclusief witte spaties.

Sting is een reeks tekens die worden afgesloten met het speciale teken dat het null-teken wordt genoemd ("\ 0").

Syntaxis

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

Voorbeeld

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

Str_name is de stringnaam en de grootte definieert de lengte van de string (aantal tekens).

Een tekenreeks kan worden gedefinieerd als een eendimensionale reeks tekens, dus een reeks tekenreeksen is een tweedimensionale reeks tekens.

Syntaxis

char str_name(size)(max);

Syntaxis

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

Als alternatief kunnen we het zelfs als verklaren

Syntaxis

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

Van de gegeven syntaxis zijn er twee subscripts, de eerste is voor hoeveel strings te declareren en de tweede is om de maximale lengte van tekens te definiëren die elke string kan opslaan, inclusief het null-teken. C concept legt al uit dat elk karakter 1 byte aan data neemt terwijl geheugen wordt toegewezen, het bovenstaande voorbeeld van syntaxis neemt 2 * 6 = 12 bytes geheugen in beslag.

Voorbeeld

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 Index

Variabelen 2000 2001 2002 2003 2004 2005 2006 2007 Adres

Dit is een weergave van hoe tekenreeksen worden toegewezen in het geheugen voor de hierboven aangegeven tekenreeks in C.

Elk karakter in de string heeft een index en adres toegewezen aan elk karakter in de string. In de bovenstaande weergave wordt het nul-teken ("\ 0") automatisch geplaatst door de C-compiler aan het einde van elke string wanneer deze de hierboven aangegeven array initialiseert. Gewoonlijk worden tekenreeksen gedeclareerd met behulp van dubbele aanhalingstekens volgens de regels van de tekenreeksinitialisatie en wanneer de compiler dubbele aanhalingstekens tegenkomt, voegt het automatisch een nul-teken toe aan het einde van de tekenreeks.

Uit het bovenstaande voorbeeld, omdat we weten dat de naam van de array naar de 0e index en adres 2000 verwijst, omdat we al weten dat het indexeren van een array begint met 0. Daarom,

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

Zoals het bovenstaande voorbeeld voor een eendimensionale array is, wijst de aanwijzer naar elk teken van de tekenreeks.

Voorbeelden van Array String in C

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

Voor tweedimensionale arrays hebben we de volgende syntaxis en geheugentoewijzing. Hiervoor kunnen we het nemen als rij- en kolomrepresentatie (tabelformaat).

char str_name(size)(max);

In deze tabelweergave wordt elke rij (eerste subscript) gedefinieerd als het aantal tekenreeksen dat moet worden opgeslagen en definieert kolom (tweede subscript) de maximale lengte van de tekenreeksen.

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

Als alternatief kunnen we het zelfs als verklaren

Syntaxis:

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

Inhoudsopgave

rijen

0 1 2 3 4 5 6 7
0gOurik\ 0\ 0\ 0
1reenm\ 0\ 0\ 0\ 0\ 0

Uit het bovenstaande voorbeeld zoals we weten dat de naam van de array naar de 0e string verwijst. daarom

str_name + 0 punten naar 0e string "gouri"

str_name + 1 punten naar 1e string "ram"

Zoals het bovenstaande voorbeeld voor tweedimensionale arrays is, wijst de aanwijzer naar elke reeks van de array.

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

Output:

Functies van strings

strcpy (s1, s2); deze functie kopieert string s2 naar steek s1.
char s1(10) = “gouri”;
char s2 (10) = “ram”;
char s3 (10) ;
strcpy(s3, s2);
result => strcpy(s3, s2) : ram

strcat (s1, s2); deze functie voegt strings s1 en s2 samen, string s2 wordt toegevoegd aan het einde van de string s1.
char s1(10) = “gouri”;
char s2 (10) = “ram”;
strcat(s1, s2);
result => strcat(s1, s2) : gouriram

strlen (s1); deze functie retourneert de lengte van de tekenreeks s1.
char s1(10) = “gouri”;
strlen(s1);
result => 5

strcmp (s1, s2); Deze functie vergelijkt beide reeksen s1 en s2.
style="list-style-type: none;">
style="list-style-type: none;">

strchr (s1, ch); deze functies vinden het eerste voorkomen van het gegeven teken ch in de tekenreeks s1 en de aanwijzer verwijst naar dit teken in de tekenreeks.

strstr (s1, s2); dit vindt het eerste voorkomen van string s2 in de string s1 en de aanwijzer verwijst naar de string s2 in de string s1.

Met enkele ongeldige bewerkingen zijn str_arr (0) = "gouri"; in deze bewerking wordt de aanwijzer van de string toegewezen aan de constante aanwijzer die ongeldig is en niet mogelijk is, omdat de naam van de array een constante aanwijzer is.

Om dit te voorkomen kunnen we str_arr toewijzen met strcpy (str_arr (0), ”gouri”).

Conclusie

Een array zelf definieert als een lijst met tekenreeksen. Uit de bovenstaande inleiding kunnen we concluderen dat de declaratie en initialisatie van tekenreeksen verschillen, zoals we zagen voor elke tekenreeks dat de compiler een null-teken toevoegt wanneer de tekenreeks als invoer wordt gelezen. Er zijn veel functies voor stringverwerking, enkele functies met voorbeelden worden hierboven uitgelegd. Daarom zijn arrays van de string net zo eenvoudig als arrays.

Aanbevolen artikelen

Dit is een gids voor een Strings Array in C. Hier bespreken we de basisprincipes van de Array Strings, Example of Array String in C en Functions of strings. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie–

  1. String Array in C #
  2. Multidimensionale array in C
  3. Arrays in C-programmering
  4. 2D-arrays in C #
  5. Hoe werkt Array in Unix met Syntax?