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]) {...}