
Zitat von
thewulf00
Könntest Du das an einem Beispiel kurz demonstrieren?
Variante 1 (innere Größe in der Deklaration):
Code:
void Func ( type array[][2] ) {
type i = array[x][y];
Das hat natürlich den Nachteil, dass man nur Arrays an die Funktion übergeben kann, die die gleiche innere Dimension haben (hier 2).
Variante 2 (innere Größe als Parameter):
Code:
void Func ( void* array, int dim ) {
type i = *( (type*)array + x*dim + y );
Man kann die Funktion sowohl mit einem 2x2 Array aufrufen, wie auch mit einem 7x10 Array (dim muss natürlich dann einmal 2 und einmal 10 sein).
Diese Variante ist also universeller, dafür ist der Zugriff auf die Elemente etwas "kryptischer".
Lesezeichen