C-Arrays erklärt: Effiziente Datenspeicherung & Zugriff
Arrays sind eine Art Datenstruktur, die eine festgelegte, sequenzielle Sammlung von Elementen desselben Typs speichern kann. Ein Array wird verwendet, um eine Sammlung von Daten zu speichern, aber es ist oft nützlicher, ein Array als Sammlung von Variablen desselben Typs zu betrachten.
Anstatt einzelne Variablen wie number0, number1, ..., number99 zu deklarieren, deklarieren Sie eine Array-Variable wie numbers und verwenden numbers[0], numbers[1], ..., numbers[99] für einzelne Elemente. Ein spezifisches Element wird über einen Index zugegriffen.
Alle Arrays bestehen aus zusammenhängenden Speicheradressen. Die niedrigste Adresse entspricht dem ersten Element, die höchste dem letzten.
Arrays deklarieren
Um ein Array in C zu deklarieren, spezifiziert der Programmierer den Typ der Elemente und die Anzahl der benötigten Elemente:
typ arrayName[arraySize];
Dies wird als eindimensionales Array bezeichnet. arraySize muss eine ganzzahlige Konstante größer null sein, typ kann jeder gültige C-Datentyp sein. Beispiel für ein 10-Elemente-Array balance vom Typ double:
double balance[10];
Arrays initialisieren
Sie können ein Array in C entweder einzeln oder mit einer einzelnen Anweisung initialisieren:
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
Die Anzahl der Werte zwischen { } darf nicht größer sein als die Anzahl der Elemente, die zwischen [ ] deklariert wurden.
Wenn Sie die Größe des Arrays weglassen, wird ein Array erstellt, das gerade groß genug für die Initialisierung ist:
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
Dies erzeugt dasselbe Array wie oben. Zuweisung eines einzelnen Elements:
balance[4] = 50.0;
Dies weist dem 5. Element (Index 4) den Wert 50.0 zu. Arrays haben 0 als Index des ersten Elements (Basisindex), der letzte Index ist Gesamtgröße minus 1.
Auf Array-Elemente zugreifen
Ein Element wird durch Indizierung des Arraynamens zugegriffen – der Index in eckigen Klammern nach dem Arraynamen:
double gehalt = balance[9];
Dies nimmt das 10. Element (Index 9) und weist es der Variablen gehalt zu.
Vollständiges Beispiel
#include <stdio.h>
int main() {
int n[10]; // Array von 10 Ganzzahlen
int i, j;
// Initialisierung
for (i = 0; i < 10; i++) {
n[i] = i + 100;
}
// Ausgabe
for (j = 0; j < 10; j++) {
printf("Element[%d] = %d\n", j, n[j]);
}
return 0;
}
Ausgabe:
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
Arrays im Detail
Arrays sind wichtig in C und verdienen mehr Aufmerksamkeit. Folgende Konzepte sollte ein C-Programmierer beherrschen:
| Nr. | Konzept & Beschreibung |
|---|---|
| 1 | Mehrdimensionale Arrays – C unterstützt mehrdimensionale Arrays. Die einfachste Form ist das zweidimensionale Array. |
| 2 | Arrays an Funktionen übergeben – Sie können einen Zeiger auf ein Array übergeben, indem Sie den Arraynamen ohne Index angeben. |
| 3 | Array aus Funktion zurückgeben – C erlaubt einer Funktion, ein Array zurückzugeben (über Zeiger). |
| 4 | Zeiger auf Array – Ein Zeiger auf das erste Element wird durch den Arraynamen ohne Index erzeugt. |
Zweidimensionales Array Beispiel
#include <stdio.h>
int main() {
int matrix[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("matrix[%d][%d] = %d\n", i, j, matrix[i][j]);
}
}
return 0;
}
C Sprache
- C# Arrays meistern: Deklaration, Initialisierung und Operationen
- C# Jagged Arrays meistern: Deklaration, Initialisierung und Zugriff
- Arrays an Funktionen in C++ übergeben: Ein praktischer Leitfaden
- Arrays an Funktionen in C übergeben: 1D & 2D – Praxisleitfaden
- Beziehung zwischen Arrays und Zeigern in C verstehen
- Java Array-Kopiertechniken: Umfassender Leitfaden
- C++ Arrays verstehen: Deklaration, Initialisierung und Pointer‑Techniken
- C++ Dynamische Array‑Allokation: Praktischer Leitfaden mit Code‑Beispielen
- Java Arrays Tutorial: Deklaration, Erstellung und Initialisierung – Beispielcode
- MATLAB: Mehrdimensionale und spezielle Arrays meistern