Ein Array ist eine Ansammlung von Daten gleichen Typs.
Beschreibung
Deklaration
datentyp name[Anzahl];Die Größe muss eine Konstante sein!
Beispiele
// Mit initialisierung (Alle Array-Elemente werden mit 0 überschrieben)
int array[100] = {0};
// Alternativ auch ohne möglich, dann random Werte im Array
int array[100];
// Ein Array ist ein Pointer auf das erste Element.
array[3];
// Äquivalent zu:
*(array+3);
printf("%d", array[0]);Wissenswert
Arrays in Funktionen
In C verhält sich eine Übergabe von einem Array wie eine Übergabe von einem Zeiger:
void func(int array[3]) { ... }
// Äquivalent zu:
void func(int *array) { ... }Daraus folgt, dass die Funktion nicht wissen kann, wie groß das Array ist. Dies müsste extra übergeben werden!
Möchte man, dass das Array in Funktionen nicht geändert werden kann, benutzt man const:
void func(const int array[], int length) {...}Anzahl der Elemente in einem Array
Möglichkeit 1:
int array[5];
int groesse = sizeof(array) / sizeof(int);Möglichkeit 2:
#define GROESSE 5
[...]
int array[GROESSE];Mehrdimensionale Arrays
int matrix[2][3] = {{1,2,3},{4,5,6}};Entspricht der Matrix
Einschränkungen: Als Parameter von von Funktionen können diese nur mit konkreten Dimensionsangaben aufgeführt werden:
void func(int feld[2][3]) {...}