BESTE WEBSITE FÜR WEBENTWICKLER
C Sprache. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es

C Zeichenfolgen


Zeichenfolgen

Zeichenfolgen werden zum Speichern von Text/Zeichen verwendet.

Zum Beispiel ist „Hello World“ eine Zeichenfolge.

Im Gegensatz zu vielen anderen Programmiersprachen verfügt C nicht über einen String-Typ zum einfachen Erstellen von String-Variablen. Stattdessen müssen Sie den Typ char verwenden und ein Array von Zeichen erstellen, um eine Zeichenfolge in C zu erstellen:

char greetings[] = "Hello World!";

Beachten Sie, dass Sie doppelte Anführungszeichen verwenden müssen ("").

Um die Zeichenfolge auszugeben, können Sie die Funktion printf() zusammen mit dem Formatbezeichner %s verwenden C, dass wir jetzt mit Strings arbeiten:

Beispiel

char greetings[] = "Hello World!";
printf("%s", greetings);
Try it Yourself »

Zugriffszeichenfolgen

Da Strings in C tatsächlich Arrays sind, können Sie auf einen String zugreifen, indem Sie auf seine Indexnummer in eckigen Klammern verweisen [].

In diesem Beispiel wird das erste Zeichen (0) gedruckt greetings:

Beispiel

char greetings[] = "Hello World!";
printf("%c", greetings[0]);
Try it Yourself »

Beachten Sie, dass wir den Formatbezeichner %c verwenden müssen, um ein einzelnes Zeichen zu drucken.


Zeichenfolgen ändern

Um den Wert eines bestimmten Zeichens in einer Zeichenfolge zu ändern, beziehen Sie sich auf die Indexnummer und verwenden Sie einfache Anführungszeichen:

Beispiel

char greetings[] = "Hello World!";
greetings[0] = 'J';
printf("%s", greetings);
// Outputs Jello World! instead of Hello World!
Try it Yourself »

Schleife durch einen String

Sie können die Zeichen einer Zeichenfolge auch in einer Schleife durchlaufen, indem Sie eine for-Schleife verwenden:

Beispiel

char carName[] = "Volvo";
int i;

for (i = 0; i < 5; ++i) {
  printf("%c\n", carName[i]);
}
Try it Yourself »

Und wie wir im Kapitel Arrays angegeben haben, können Sie auch die sizeof-Formel verwenden (anstatt die Größe des Arrays manuell in die Schleife zu schreiben). Bedingung (i < 5)), um die Schleife nachhaltiger zu machen:

Beispiel

char carName[] = "Volvo";
int length = sizeof(carName) / sizeof(carName[0]);
int i;

for (i = 0; i < length; ++i) {
  printf("%c\n", carName[i]);
}
Try it Yourself »

Eine andere Möglichkeit, Strings zu erstellen

In den obigen Beispielen haben wir ein „String-Literal“ verwendet, um eine String-Variable zu erstellen. Dies ist der einfachste Weg, eine Zeichenfolge in C zu erstellen.

Beachten Sie außerdem, dass Sie eine Zeichenfolge mit einer Reihe von Zeichen erstellen können. Dieses Beispiel führt zum gleichen Ergebnis wie das Beispiel am Anfang dieser Seite:

Beispiel

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
printf("%s", greetings);
Try it Yourself »

Warum fügen wir am Ende das Zeichen \0 ein? Dies wird als „Null-Abschlusszeichen“ bezeichnet und muss beim Erstellen von Zeichenfolgen mit diesem Zeichen enthalten seine Methode. Es teilt C mit, dass dies das Ende der Zeichenfolge ist.


Unterschiede

Der Unterschied zwischen den beiden Methoden zum Erstellen von Zeichenfolgen besteht darin, dass die erste Methode einfacher zu schreiben ist und Sie das Zeichen \0 nicht einschließen müssen C erledigt das für Sie.

Sie sollten beachten, dass die Größe beider Arrays gleich ist: Sie haben beide 13 Zeichen (Leerzeichen zählen übrigens auch als Zeichen), einschließlich des \0 Zeichen:

Beispiel

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
char greetings2[] = "Hello World!";

printf("%lu\n", sizeof(greetings));   // Outputs 13
printf("%lu\n", sizeof(greetings2));  // Outputs 13
Try it Yourself »

Beispiel aus dem wirklichen Leben

Verwenden Sie Zeichenfolgen, um eine einfache Willkommensnachricht zu erstellen:

Beispiel

char message[] = "Good to see you,";
char fname[] = "John";

printf("%s %s!", message, fname);
Try it Yourself »

C Übungen

Testen Sie sich mit Übungen

Übung:

Füllen Sie den fehlenden Teil aus, um eine „Zeichenfolge“ mit dem Namen greetings zu erstellen, und weisen Sie ihr den Wert zu "Hello".

  = ;