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

Ua En Es

C Arrays


Arrays

Arrays werden verwendet, um mehrere Werte in einer einzigen Variablen zu speichern, anstatt für jeden Wert separate Variablen zu deklarieren.

Um ein Array zu erstellen, definieren Sie den Datentyp (z. B. int) und geben Sie den Namen des Arrays gefolgt von eckigen Klammern [] an.

Um Werte einzufügen, verwenden Sie eine durch Kommas getrennte Liste in geschweiften Klammern:

int myNumbers[] = {25, 50, 75, 100};

Wir haben jetzt eine Variable erstellt, die ein Array aus vier Ganzzahlen enthält.


Greifen Sie auf die Elemente eines Arrays zu

Um auf ein Array-Element zuzugreifen, beziehen Sie sich auf seine Indexnummer.

Array-Indizes beginnen mit 0: [0] ist das erste Element. [1] ist das zweite Element usw.

Diese Anweisung greift auf den Wert des ersten Elements [0] in zu myNumbers:

Beispiel

int myNumbers[] = {25, 50, 75, 100};
printf("%d", myNumbers[0]);

// Ausgänge 25
Try it Yourself »

Ändern Sie ein Array-Element

Um den Wert eines bestimmten Elements zu ändern, beziehen Sie sich auf die Indexnummer:

Beispiel

myNumbers[0] = 33;

Beispiel

int myNumbers[] = {25, 50, 75, 100};
myNumbers[0] = 33;

printf("%d", myNumbers[0]);

// Gibt jetzt 33 statt 25 aus
Try it Yourself »

Schleife durch ein Array

Sie können die Array-Elemente mit der for-Schleife durchlaufen.

Das folgende Beispiel gibt alle Elemente im Array myNumbers aus:

Beispiel

int myNumbers[] = {25, 50, 75, 100};
int i;

for (i = 0; i < 4; i++) {
  printf("%d\n", myNumbers[i]);
}
Try it Yourself »

Array-Größe festlegen

Eine weitere gängige Methode zum Erstellen von Arrays besteht darin, die Größe des Arrays anzugeben und später Elemente hinzuzufügen:

Beispiel

// Declare an array of four integers:
int myNumbers[4];

// Add elements
myNumbers[0] = 25;
myNumbers[1] = 50;
myNumbers[2] = 75;
myNumbers[3] = 100;
Try it Yourself »

Bei dieser Methode Sie sollten die Anzahl der Array-Elemente im Voraus kennen, damit das Programm genügend Speicher speichern kann.

Sie können die Größe des Arrays nach der Erstellung nicht ändern.


Array-Größe oder -Länge abrufen

Um die Größe eines Arrays zu ermitteln, können Sie den Operator sizeof verwenden:

Beispiel

int myNumbers[] = {10, 25, 50, 75, 100};
printf("%lu", sizeof(myNumbers)); // Druckt 20
Try it Yourself »

Warum zeigte das Ergebnis 20 statt 5 an, wenn das Array 5 Elemente enthält?

– Dies liegt daran, dass der Operator sizeof die Größe eines Typs in Bytes zurückgibt.

Sie haben aus dem Kapitel Datentypen erfahren, dass ein int-Typ normalerweise 4 Bytes groß ist, also aus dem Beispiel oben: 4 x 5 (4 Bytes x 5 Elemente) = 20 Bytes.

Die Kenntnis der Speichergröße eines Arrays ist hilfreich, wenn Sie mit größeren Programmen arbeiten, die eine gute Speicherverwaltung erfordern.

Wenn Sie jedoch nur herausfinden möchten, wie viele Elemente ein Array hat, können Sie die folgende Formel verwenden (die Größe des Arrays durch die Größe eines Array-Elements dividiert):

Beispiel

int myNumbers[] = {10, 25, 50, 75, 100};
int length = sizeof(myNumbers) / sizeof(myNumbers[0]);

printf("%d", length);  // Druckt 5
Try it Yourself »

Bessere Schleifen erstellen

Im Abschnitt Array-Schleifen oben haben wir die Größe des Arrays in der Schleifenbedingung angegeben (i < 4). Dies ist nicht ideal, da es nur für Arrays einer bestimmten Größe funktioniert.

Durch die Verwendung der Formel sizeof aus dem obigen Beispiel können wir jetzt Schleifen erstellen, die für Arrays jeder Größe funktionieren, was nachhaltiger ist.

Anstatt zu schreiben:

Beispiel

int myNumbers[] = {25, 50, 75, 100};
int i;

for (i = 0; i < 4; i++) {
  printf("%d\n", myNumbers[i]);
}
Try it Yourself »

Es ist besser zu schreiben:

Beispiel

int myNumbers[] = {25, 50, 75, 100};
int length = sizeof(myNumbers) / sizeof(myNumbers[0]);
int i;

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

Beispiel aus dem wirklichen Leben

Um ein praktisches Beispiel für die Verwendung von Arrays zu demonstrieren, erstellen wir ein Programm, das den Durchschnitt verschiedener Altersstufen berechnet:

Beispiel

// Ein Array, das verschiedene Altersstufen speichert
int ages[] = {20, 22, 18, 35, 48, 26, 87, 70};

float avg, sum = 0;
int i;

// Ermitteln Sie die Länge des Arrays
int length = sizeof(ages) / sizeof(ages[0]);

// Durchlaufen Sie die Elemente des Arrays
for (int i = 0; i < length; i++) {
  sum += ages[i];
}

// Berechnen Sie den Durchschnitt, indem Sie die Summe durch die Länge dividieren
avg = sum / length;

// Drucken Sie den Durchschnitt aus
printf("Das Durchschnittsalter beträgt: %.2f", avg);
Try it Yourself »

C Übungen

Testen Sie sich mit Übungen

Übung:

Erstellen Sie ein Array vom Typ int mit dem Namen myNumbers.

   {25, 50, 75, 100};