logo

Array von Strings in C

In der C-Programmierung ist String ein 1-D-Array von Zeichen und wird als Array von Zeichen definiert. Aber ein String-Array in C ist ein zweidimensionales Array von Zeichentypen. Jeder String wird mit einem Nullzeichen ( ) abgeschlossen. Es ist eine Anwendung eines 2D-Arrays.

Syntax:



Rajinikanth
char variable_name[r] = {list of string};>

Hier,

    var_name ist der Name der Variablen in C. r ist die maximale Anzahl von String-Werten, die in einem String-Array gespeichert werden können. c ist die maximale Anzahl von Zeichenwerten, die in jedem String-Array gespeichert werden können.

Beispiel:

C








// C Program to print Array> // of strings> #include> // Driver code> int> main()> {> >char> arr[3][10] = {>'Geek'>,> >'Geeks'>,>'Geekfor'>};> >printf>(>'String array Elements are: '>);> > >for> (>int> i = 0; i <3; i++)> >{> >printf>(>'%s '>, arr[i]);> >}> >return> 0;> }>

>

>

Ausgabe

String array Elements are: Geek Geeks Geekfor>

Nachfolgend finden Sie die Darstellung des oben genannten Programms

String-Datum konvertieren
Speicherdarstellung eines String-Arrays

Wir haben 3 Zeilen und 10 Spalten in unserem String-Array angegeben, aber aufgrund der Vorspezifizierung der Größe des String-Arrays ist der Platzverbrauch hoch. Um einen hohen Speicherplatzverbrauch in unserem Programm zu vermeiden, können wir in C ein Array von Zeigern verwenden.

Ungültige Operationen in Arrays von Strings

Wir können die Werte nicht direkt ändern oder einem String-Array in C zuweisen.

Beispiel:

 char arr[3][10] = {'Geek', 'Geeks', 'Geekfor'};>

Hier ist arr[0] = GFG; // Dies führt zu einem Fehler, der die Zuweisung zum Ausdruck mit einem Array-Typ besagt.

Um Werte zu ändern, können wir die Funktion strcpy() in C verwenden

was ist 25 von 100
 strcpy(arr[0],'GFG'); // This will copy the value to the arr[0].>

Array von Zeigern von Strings

In C können wir ein Array von Zeigern verwenden. Anstelle eines zweidimensionalen Zeichenarrays können wir auch ein eindimensionales Array von Zeigern haben. Hier wird ein Zeiger auf das erste Zeichen des String-Literals gespeichert.

Syntax:

char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };>
Array von Zeigern von Strings

Unten ist das C-Programm zum Drucken eines Arrays von Zeigern:

C




// C Program to print Array> // of Pointers> #include> // Driver code> int> main()> {> >char> *arr[] = {>'Geek'>,>'Geeks'>,>'Geekfor'>};> >printf>(>'String array Elements are: '>);> > >for> (>int> i = 0; i <3; i++)> >{> >printf>(>'%s '>, arr[i]);> >}> >return> 0;> }>

strsep c

>

>

Ausgabe

String array Elements are: Geek Geeks Geekfor>