C-Programmierung

Mehrdimensionale Arrays

Einsatz von Zeigerarithmetik | | Matrix Beispiel

In der Praxis benötigt man nicht nur ein-dimensionale Arrays sondern auch mehrdimensionale Arrays, wie z.B. 2D oder 3D Arrays.

  • Ein 2D Array wird in der Mathematik auch Matrix genannt.
  • In der Bildverarbeitung ist ein Bild eine Matrix von Farb- oder Grauwerten.

In C wird ein mehrdimensionales Array durch Mehrfach-Verwendung der eckigen Klammern als Größenangabe angelegt. Die Anzahl der Klammerpaare entspricht der Dimension des Arrays.

  • 1D: int a[n]
  • 2D: int a[n2][n1];
  • 3D: int a[n3][n2][n1];

Jede Dimension hat ihren eigenen Index. Die Indizierung erfolgt durch Mehrfach-Verwendung der eckigen Indexklammern entsprechend der Anzahl der Dimensionen des Arrays, z.B. 3D Array:

int a3[10][10][10]={0}; // declaration
int v=a3[5][5][5];      // 3x indexing


Einsatz von Zeigerarithmetik | | Matrix Beispiel

Options: