Hallo und zwar habe ich folgendes problem ich will ein array ( int a [5] [5] )an ein unter programm übergeben. ich habs mit dem auf ruf
frey ( a [i] [j] ) probiert funzt aber net. ich benutze ms visual 6.0
THX
Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge
Hallo gustav,
jede Arrayvariable ist ein Zeiger auf den Beginn der für
das Array allozierten Speicherfläche und muss damit
als solcher an Funktionen übergeben werden.
Bei mehrdimensionalen Arrays müssen entsprechend mehrdimensionale
Zeiger (PointerPointer) übergeben werden.
Die aufgerufene Funktion muss entweder bereits
zur Programmierzeit (compiletime) wissen,
wie das Array dimensioniert ist,
oder Du übergibst die Dimensionen als zusätzliche int Parameter.
Hier ein quickanddirty Beispiel,
Fehler sind durchaus möglich ....
void subrout(int **);
void subrout2(int **,int,int);
void aufrufer()
{
int a[5][5];
// Werte füllen ......
subrout(a);
subrout2(a,5,5);
}
void subrout(int **a)
{
int i,ii
for(i=0;i {
for(ii=0;i {
// tuwas
}
}
}
void subrout2(int **a,int b,int c)
{
int i,ii
for(i=0;i {
for(ii=0;i {
// tuwas
}
}
}