Schwierigkeiten bereitet oft die Deklaration von Pointern auf ein Array bzw.
eines Arrays aus Pointern. Hier ist die Rangfolge der Operatoren zu beachten.
Der Indexoperator []
hat eine höhere Präferenz als der
Dereferenzierungsoperator *
.
int* p; // Pointer aus integer
int a[3]; // Array aus integer
int* a[3]; // Array aus integer-Pointern
int (*a)[3]; // Pointer auf Array aus integer
int* (a[3]); // Array aus integer-Pointern
oder völlig abgefahren
int* (*a)[3] // Pointer auf Array aus integer-Pointern
int* *a[3]; // entspricht int** a[3]: Array von Zeigern auf Integerzeiger