C++-Arrays meistern: Deklaration, Initialisierung und praktische Beispiele
C++-Arrays
Dieses Tutorial behandelt C++-Arrays – wie man sie deklariert, initialisiert, zugreift und manipuliert – mit praktischen Code-Beispielen.
In C++ ist ein Array eine einzelne Variable, die eine festgelegte Sequenz von Elementen desselben Typs speichert. Zum Beispiel könnte eine Klasse mit 27 Schülern ihre Noten in einem Array speichern:
double grade[27];
Hier kann grade bis zu 27 double-Werte halten. Einmal deklariert, sind Größe und Elementtyp des Arrays unveränderlich.
C++-Array-Deklaration
dataType arrayName[arraySize];
Zum Beispiel:
int x[6];
Erklärung:
int– Elementtyp- x – Arrayname
6– Anzahl der Elemente
Auf Elemente in einem C++-Array zugreifen
Jedes Array-Element wird durch einen Index identifiziert, der bei 0 beginnt. Sie können ein Element abrufen oder modifizieren mit:
// Syntax für Array-Zugriff
array[index];
Betrachten Sie das Array x oben.

Wichtige Punkte
- Indizes beginnen bei
0(z. B. x[0] ist das erste Element). - Für ein Array der Größe
nist der letzte Indexn-1(hier x[5]). - Array-Elemente werden in aufeinanderfolgenden Speicheradressen gespeichert. Wenn
x[0]bei 2120d beginnt, dann istx[1]bei 2124d,x[2]bei 2128d usw., da einint4 Bytes belegt.
C++-Array-Initialisierung
Arrays können bei der Deklaration initialisiert werden:
// Array deklarieren und initialisieren
int x[6] = {19, 10, 8, 17, 9, 15};

Alternativ lässt der Compiler die Größe ableiten:
// Array deklarieren und initialisieren
int x[] = {19, 10, 8, 17, 9, 15};
Wenn weniger Elemente als die Array-Größe bereitgestellt werden, werden die verbleibenden Elemente in C++ null-initialisiert.

Elemente einfügen und ausgeben
int mark[5] = {19, 10, 8, 17, 9};
// 4. Element auf 9 ändern
mark[3] = 9;
// Benutzereingabe entgegennehmen und an dritter Position speichern
cin >> mark[2];
// Benutzereingabe entgegennehmen und an i-ter Position einfügen
cin >> mark[i-1];
// erstes Element ausgeben
cout << mark[0];
// i-tes Element ausgeben
cout << mark[i-1];
Beispiel 1: Array-Elemente anzeigen
#include <iostream>
using namespace std;
int main()
{
int numbers[5] = {7, 5, 6, 12, 35};
cout << "The numbers are: ";
// Array-Elemente mit range-based for-Schleife ausgeben
for (const int &n : numbers)
{
cout << n << " ";
}
cout << "\nThe numbers are: ";
// Array-Elemente mit traditioneller for-Schleife ausgeben
for (int i = 0; i < 5; ++i)
{
cout << numbers[i] << " ";
}
return 0;
}
Ausgabe
The numbers are: 7 5 6 12 35 The numbers are: 7 5 6 12 35
Beide Schleifen produzieren dasselbe Ergebnis. Die range-based-Schleife wird bevorzugt, wenn Sie nur Werte lesen müssen, da sie unnötiges Kopieren vermeidet.
Hinweis: Die Verwendung von const int &n ist effizienter als int n, da sie Elemente per Referenz übergibt und versehentliche Modifikation verhindert.
Beispiel 2: Benutzereingabe in ein Array einlesen
#include <iostream>
using namespace std;
int main()
{
int numbers[5];
cout << "Enter 5 numbers: " << endl;
// Benutzereingabe im Array speichern
for (int i = 0; i < 5; ++i)
{
cin >> numbers[i];
}
cout << "The numbers are: ";
// Array-Elemente ausgeben
for (int n = 0; n < 5; ++n)
{
cout << numbers[n] << " ";
}
return 0;
}
Ausgabe
Enter 5 numbers: 11 12 13 14 15 The numbers are: 11 12 13 14 15
Beispiel 3: Summe und Durchschnitt von Array-Elementen
#include <iostream>
using namespace std;
int main()
{
double numbers[] = {7, 5, 6, 12, 35, 27};
double sum = 0;
double count = 0;
double average;
cout << "The numbers are: ";
// Elemente ausgeben und Summe berechnen mit range-based for-Schleife
for (const double &n : numbers)
{
cout << n << " ";
sum += n;
++count;
}
cout << "\nTheir Sum = " << sum << endl;
average = sum / count;
cout << "Their Average = " << average << endl;
return 0;
}
Ausgabe
The numbers are: 7 5 6 12 35 27 Their Sum = 92 Their Average = 15.3333
Dieses Beispiel demonstriert, wie eine range-based-Schleife die Durchlaufvereinfachung ermöglicht, wenn die Array-Größe zur Kompilierzeit nicht bekannt ist.
C++ Array Out-of-Bounds-Zugriff
Arrays der Größe 10 haben gültige Indizes von 0 bis 9. Der Zugriff auf Index 10 oder höher löst undefiniertes Verhalten aus, das sich als Abstürze oder korrupte Daten äußern kann.
C Sprache
- C# Arrays meistern: Deklaration, Initialisierung und Operationen
- C# Mehrdimensionale Arrays: 2D Arrays mit Codebeispielen erklärt
- C# Jagged Arrays meistern: Deklaration, Initialisierung und Zugriff
- C++-Operatoren meistern: Ein vollständiger Leitfaden mit praktischen Beispielen
- C++-Kommentare: Best Practices für lesbaren, wartbaren Code
- Arrays an Funktionen in C++ übergeben: Ein praktischer Leitfaden
- Java Array-Kopiertechniken: Umfassender Leitfaden
- C++ Arrays verstehen: Deklaration, Initialisierung und Pointer‑Techniken
- C++ Dynamische Array‑Allokation: Praktischer Leitfaden mit Code‑Beispielen
- MATLAB: Mehrdimensionale und spezielle Arrays meistern