Erstellen von String-Array-Iteratoren in C

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie in der C-Programmierung ein String-Array erstellen und durchlaufen. Sie werden ein String-Array deklarieren, es mit einer while-Schleife durchlaufen, Null-terminierte Strings verarbeiten und jeden String im Array ausgeben. Diese Fähigkeiten sind für die Arbeit mit Textdaten und die Entwicklung komplexerer C-Anwendungen unerlässlich.

Das Lab umfasst die folgenden Schritte: Deklarieren eines String-Arrays, Durchlaufen des Arrays mit einer while-Schleife, Verarbeiten von Null-terminierten Strings, Ausgeben jedes Strings im Array sowie Kompilieren und Ausführen des C-Programms. Durch die Bearbeitung dieses Labs werden Sie ein solides Verständnis für die Arbeit mit String-Arrays in C erlangen, was ein grundlegendes Konzept in der C-Programmierung ist.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c(("C")) -.-> c/PointersandMemoryGroup(["Pointers and Memory"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/ControlFlowGroup -.-> c/while_loop("While Loop") c/CompoundTypesGroup -.-> c/arrays("Arrays") c/CompoundTypesGroup -.-> c/strings("Strings") c/PointersandMemoryGroup -.-> c/pointers("Pointers") c/PointersandMemoryGroup -.-> c/memory_address("Memory Address") c/FunctionsGroup -.-> c/math_functions("Math Functions") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/while_loop -.-> lab-438245{{"Erstellen von String-Array-Iteratoren in C"}} c/arrays -.-> lab-438245{{"Erstellen von String-Array-Iteratoren in C"}} c/strings -.-> lab-438245{{"Erstellen von String-Array-Iteratoren in C"}} c/pointers -.-> lab-438245{{"Erstellen von String-Array-Iteratoren in C"}} c/memory_address -.-> lab-438245{{"Erstellen von String-Array-Iteratoren in C"}} c/math_functions -.-> lab-438245{{"Erstellen von String-Array-Iteratoren in C"}} c/output -.-> lab-438245{{"Erstellen von String-Array-Iteratoren in C"}} end

Deklarieren eines String-Arrays

In diesem Schritt lernen Sie, wie Sie in der C-Programmierung ein String-Array deklarieren. String-Arrays sind leistungsstarke Datenstrukturen, die es Ihnen ermöglichen, mehrere Strings in einer einzigen Variable zu speichern.

  1. Öffnen Sie die WebIDE und erstellen Sie eine neue Datei mit dem Namen string-array.c im Verzeichnis ~/project:
cd ~/project
touch string-array.c
  1. Öffnen Sie die Datei in der WebIDE und fügen Sie den folgenden Code hinzu:
#include <stdio.h>

void main() {
    const char* fruits[] = {
        "Apple",
        "Banana",
        "Cherry",
        "Date",
        NULL
    };
}

Dieser Code zeigt, wie man in C ein String-Array deklariert. Lassen Sie uns die wichtigsten Bestandteile analysieren:

  • const char* gibt ein Array von konstanten String-Pointern an.
  • fruits[] ist der Name des Arrays.
  • Das Array enthält vier Obstnamen als Strings.
  • NULL wird verwendet, um das Ende des Arrays zu markieren, was bei späteren Iterationen nützlich sein wird.

Beachten Sie, dass dieses Array Null-terminiert ist, was bedeutet, dass das letzte Element NULL ist. Dies ist eine gängige Praxis in C für String-Arrays, da es beim Iterieren hilft, das Ende des Arrays zu bestimmen.

Durchlaufen des Arrays mit einer while-Schleife

In diesem Schritt lernen Sie, wie Sie in der C-Programmierung ein String-Array mit einer while-Schleife durchlaufen. Basierend auf dem vorherigen Schritt werden wir die Datei string-array.c ändern, um den Inhalt des Frucht-Arrays auszugeben.

  1. Öffnen Sie die Datei string-array.c in der WebIDE:
  2. Aktualisieren Sie den Code, um eine while-Schleife zum Durchlaufen des Arrays hinzuzufügen:
#include <stdio.h>

void main() {
    const char* fruits[] = {
        "Apple",
        "Banana",
        "Cherry",
        "Date",
        NULL
    };

    int i = 0;
    while (fruits[i]) {
        printf("Fruit: %s\n", fruits[i]);
        ++i;
    }
}

Lassen Sie uns die Iterationslogik analysieren:

  • int i = 0 initialisiert einen Indexzähler.
  • while (fruits[i]) setzt die Schleife fort, bis der NULL-Terminator erreicht wird.
  • printf("Fruit: %s\n", fruits[i]) gibt jeden Fruchtnamen aus.
  • ++i erhöht den Index, um zum nächsten Element zu gelangen.
  1. Kompilieren Sie das Programm:
gcc string-array.c -o string-array
  1. Führen Sie das kompilierte Programm aus:
./string-array

Beispielausgabe:

Fruit: Apple
Fruit: Banana
Fruit: Cherry
Fruit: Date

Die while-Schleife ermöglicht es Ihnen, das Array zu durchlaufen, indem sie auf den NULL-Terminator prüft, der das Ende des Arrays signalisiert. Diese Methode ist eine gängige und effiziente Möglichkeit, String-Arrays in C zu durchlaufen.

Umgang mit Null-terminierten Strings

In diesem Schritt lernen Sie über Null-terminierte Strings und wie sie in der C-Programmierung verwendet werden, um das Ende von String-Arrays zu markieren. Das Verständnis der Null-Termination ist für die Arbeit mit String-Arrays von entscheidender Bedeutung.

  1. Öffnen Sie die Datei string-array.c in der WebIDE:
  2. Ändern Sie den Code, um die Null-Termination und die Stringlänge zu demonstrieren:
#include <stdio.h>
#include <string.h>

void main() {
    const char* fruits[] = {
        "Apple",
        "Banana",
        "Cherry",
        "Date",
        NULL
    };

    int i = 0;
    while (fruits[i]) {
        printf("Fruit: %s\n", fruits[i]);
        printf("Length of %s: %lu\n", fruits[i], strlen(fruits[i]));
        ++i;
    }

    printf("Total number of fruits: %d\n", i);
}

Wichtige Änderungen:

  • Hinzufügen von #include <string.h>, um die strlen()-Funktion zu verwenden
  • Verwendung von strlen(), um die Stringlänge zu demonstrieren
  • Hinzufügen einer Anzahl der Gesamtzahl der Früchte mithilfe des Schleifenindex
  1. Kompilieren Sie das Programm:
gcc string-array.c -o string-array
  1. Führen Sie das kompilierte Programm aus:
./string-array

Beispielausgabe:

Fruit: Apple
Length of Apple: 5
Fruit: Banana
Length of Banana: 6
Fruit: Cherry
Length of Cherry: 6
Fruit: Date
Length of Date: 4
Total number of fruits: 4

Verständnis der Null-Termination:

  • Das NULL am Ende des Arrays fungiert als Sentinel-Wert (Wächterwert).
  • Es hilft, das Ende des Arrays während der Iteration zu bestimmen.
  • strlen() funktioniert, indem es die Zeichen zählt, bis es den Null-Terminator (\0) erreicht.
  • Die Schleife stoppt, wenn sie auf den NULL-Zeiger trifft.

Ausgabe jedes Strings im Array

In diesem Schritt werden Sie verschiedene Methoden zur Ausgabe von Strings aus einem Array erkunden, einschließlich Formatierungsoptionen und fortgeschrittener Drucktechniken.

  1. Öffnen Sie die Datei string-array.c in der WebIDE:
  2. Aktualisieren Sie den Code, um mehrere Drucktechniken zu demonstrieren:
#include <stdio.h>
#include <string.h>

void main() {
    const char* fruits[] = {
        "Apple",
        "Banana",
        "Cherry",
        "Date",
        NULL
    };

    // Methode 1: Grundlegende Ausgabe mit Index
    printf("Methode 1: Grundlegende Ausgabe\n");
    int i = 0;
    while (fruits[i]) {
        printf("%d: %s\n", i + 1, fruits[i]);
        ++i;
    }

    // Methode 2: Formatierte Ausgabe mit Ausrichtung
    printf("\nMethode 2: Formatierte Ausgabe\n");
    i = 0;
    while (fruits[i]) {
        printf("| %-10s | Länge: %2lu |\n", fruits[i], strlen(fruits[i]));
        ++i;
    }

    // Methode 3: Ausgabe mit zusätzlicher Formatierung
    printf("\nMethode 3: Fortgeschrittene Ausgabe\n");
    i = 0;
    while (fruits[i]) {
        printf("Frucht #%d: [%s] hat %lu Zeichen\n",
               i + 1, fruits[i], strlen(fruits[i]));
        ++i;
    }
}
  1. Kompilieren Sie das Programm:
gcc string-array.c -o string-array
  1. Führen Sie das kompilierte Programm aus:
./string-array

Beispielausgabe:

Methode 1: Grundlegende Ausgabe
1: Apple
2: Banana
3: Cherry
4: Date

Methode 2: Formatierte Ausgabe
| Apple      | Länge:  5 |
| Banana     | Länge:  6 |
| Cherry     | Länge:  6 |
| Date       | Länge:  4 |

Methode 3: Fortgeschrittene Ausgabe
Frucht #1: [Apple] hat 5 Zeichen
Frucht #2: [Banana] hat 6 Zeichen
Frucht #3: [Cherry] hat 6 Zeichen
Frucht #4: [Date] hat 4 Zeichen

Demonstrierte Drucktechniken:

  • Grundlegende Indizierung mit printf()
  • Formatierte Ausgabe mit Breite und Ausrichtung
  • Fortgeschrittene Formatierung mit zusätzlichen Informationen
  • Verwendung von strlen() zur Ermittlung der Stringlänge

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie in der C-Programmierung ein String-Array deklarieren, das es Ihnen ermöglicht, mehrere Strings in einer einzigen Variable zu speichern. Sie haben auch gelernt, wie Sie das Array mit einer while-Schleife durchlaufen, wie Sie mit Null-terminierten Strings umgehen und wie Sie jeden String im Array ausgeben. Diese Techniken sind grundlegend für die Arbeit mit String-Datenstrukturen in C und bilden eine solide Grundlage für fortgeschrittenere String-Manipulationstasks.