Was ist ein String-Array?

Die Zeichenfolge ist eine Sammlung von Zeichen, ein Array einer Zeichenfolge ist ein Array von Arrays von Zeichen. Jede Zeichenfolge wird mit einem Nullzeichen abgeschlossen. Ein Array einer Zeichenfolge ist eine der häufigsten Anwendungen zweidimensionaler Arrays.

scanf () ist die Eingabefunktion mit dem Formatbezeichner% s zum Lesen einer Zeichenfolge als Eingabe vom Terminal. Aber der Nachteil ist, dass es endet, sobald es auf den Raum stößt. Um dies zu vermeiden, wird die Funktion gets () verwendet, die eine beliebige Anzahl von Zeichenfolgen einschließlich Leerzeichen lesen kann.

Sting ist ein Array von Zeichen, die mit dem Sonderzeichen "Null" ("\ 0") abgeschlossen sind.

Syntax

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

Beispiel

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

Str_name ist der Stringname und die Größe definiert die Länge des Strings (Anzahl der Zeichen).

Ein String kann als eindimensionales Array von Zeichen definiert werden. Ein Array von Strings ist also ein zweidimensionales Array von Zeichen.

Syntax

char str_name(size)(max);

Syntax

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

Alternativ können wir es auch als deklarieren

Syntax

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

Nach der angegebenen Syntax gibt es zwei Indizes. Der erste gibt an, wie viele Zeichenfolgen deklariert werden sollen, und der zweite gibt die maximale Länge der Zeichen an, die in jeder Zeichenfolge gespeichert werden können, einschließlich des Nullzeichens. Das C-Konzept erklärt bereits, dass jedes Zeichen 1 Byte Daten benötigt, während Speicher zugewiesen wird. Das obige Syntaxbeispiel belegt 2 * 6 = 12 Byte Speicher.

Beispiel

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

Variablen 2000 2001 2002 2003 2004 2005 2006 2007 Adresse

Dies ist eine Darstellung, wie Zeichenfolgen im Speicher für die oben deklarierte Zeichenfolge in C zugeordnet werden.

Jedem Zeichen in der Zeichenfolge ist ein Index und eine Adresse zugeordnet. In der obigen Darstellung wird das Nullzeichen ("\ 0") vom C-Compiler automatisch am Ende jeder Zeichenfolge platziert, wenn das oben deklarierte Array initialisiert wird. In der Regel werden Zeichenfolgen gemäß den Regeln für die Zeichenfolgeninitialisierung in doppelte Anführungszeichen gesetzt. Wenn der Compiler auf doppelte Anführungszeichen stößt, wird am Ende der Zeichenfolge automatisch ein Nullzeichen angehängt.

Wie wir aus dem obigen Beispiel wissen, zeigt der Name des Arrays auf den 0. Index und die Adresse 2000, da wir bereits wissen, dass die Indizierung eines Arrays bei 0 beginnt.

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

Wie im obigen Beispiel für ein eindimensionales Array zeigt der Zeiger auf jedes Zeichen der Zeichenfolge.

Beispiele für Array-Zeichenfolgen in C

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

Für zweidimensionale Arrays haben wir die folgende Syntax und Speicherzuordnung. Dafür können wir es als Zeilen- und Spaltendarstellung nehmen (Tabellenformat).

char str_name(size)(max);

In dieser Tabellendarstellung definiert jede Zeile (erster Index) die Anzahl der zu speichernden Zeichenfolgen und Spalte (zweiter Index) die maximale Länge der Zeichenfolgen.

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

Alternativ können wir es auch als deklarieren

Syntax:

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

Index

Reihen

0 1 2 3 4 5 6 7
0GÖurich\ 0\ 0\ 0
1reinm\ 0\ 0\ 0\ 0\ 0

Aus dem obigen Beispiel wissen wir, dass der Name des Arrays auf die 0. Zeichenfolge verweist. Deshalb,

str_name + 0 zeigt auf die 0. Zeichenfolge "gouri"

str_name + 1 zeigt auf die 1. Zeichenkette "ram"

Wie das obige Beispiel für zweidimensionale Arrays gilt, zeigt der Zeiger auf jede Zeichenfolge des Arrays.

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

Ausgabe:

Funktionen von Zeichenketten

strcpy (s1, s2); Diese Funktion kopiert den String s2 in den String s1.
char s1(10) = “gouri”;
char s2 (10) = “ram”;
char s3 (10) ;
strcpy(s3, s2);
result => strcpy(s3, s2) : ram

strcat (s1, s2); Diese Funktion verkettet die Zeichenketten s1 und s2, die Zeichenkette s2 wird am Ende der Zeichenkette s1 angehängt.
char s1(10) = “gouri”;
char s2 (10) = “ram”;
strcat(s1, s2);
result => strcat(s1, s2) : gouriram

strlen (s1); Diese Funktion gibt die Länge des Strings s1 zurück.
char s1(10) = “gouri”;
strlen(s1);
result => 5

strcmp (s1, s2); Diese Funktion vergleicht beide Strings s1 und s2.
style="list-style-type: none;">
style="list-style-type: none;">

strchr (s1, ch); Diese Funktionen finden das erste Vorkommen des angegebenen Zeichens ch in der Zeichenfolge s1 und der Zeiger zeigt auf dieses Zeichen in der Zeichenfolge.

strstr (s1, s2); Dies findet das erste Vorkommen der Zeichenkette s2 in der Zeichenkette s1 und der Zeiger zeigt auf die Zeichenkette s2 in der Zeichenkette s1.

Bei einigen ungültigen Operationen sind str_arr (0) = "gouri"; Bei dieser Operation wird der Zeiger des Strings dem Konstantenzeiger zugewiesen, der ungültig und nicht möglich ist, da der Name des Arrays ein Konstantenzeiger ist.

Um dies zu vermeiden, können wir str_arr mit strcpy (str_arr (0), ”gouri”) zuweisen.

Fazit

Ein Array selbst definiert als eine Liste von Zeichenfolgen. Aus der obigen Einführung können wir schließen, dass die Deklaration und Initialisierung von Zeichenfolgen unterschiedlich sind, da wir für jede Zeichenfolge gesehen haben, dass der Compiler ein Nullzeichen anfügt, wenn er die Zeichenfolge als Eingabe liest. Es gibt viele Funktionen zur Behandlung von Zeichenfolgen. Einige Funktionen mit Beispielen sind oben erläutert. Daher sind Arrays des Strings so einfach wie Arrays.

Empfohlene Artikel

Dies ist eine Anleitung für ein Strings-Array in C. Hier werden die Grundlagen der Array-Strings, das Beispiel für Array-Strings in C und die Funktionen von Strings erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.

  1. Zeichenfolgenarray in C #
  2. Mehrdimensionales Array in C
  3. Arrays in C-Programmierung
  4. 2D-Arrays in C #
  5. Wie funktioniert ein Array unter Unix mit Syntax?