C
int matrixsum ([b]int matrix[][3][/b],int zeilen)
{
int test=0;
test=[b]matrix[0][0][/b];
return 0;
}
int main(int argc, char *argv[])
{
int summe=0;
int matrix[2][3]={{1,2,3},{4,5,6}};
summe=[b]matrixsum(matrix,2)[/b];
}
automatische 2d arrays existieren nur durch compilermagic. es sind eigentlich normale 1d arrays aber die zwei indices werden vom compiler so verrechnet: [x + xdim*y]
wenn du solche arrays uebergibst, gehen die infos verloren.
du koenntest auch folgendes machen:
int matrixsum ([b]int *matrix[/b],int zeilen, int spalten)
{
int test=0;
test=[b]matrix[0 + spalten*0][/b]; // spalte + spaltenzahl*zeile
return 0;
}
int main(int argc, char *argv[])
{
int summe=0;
int matrix[2][3]={{1,2,3},{4,5,6}};
summe=[b]matrixsum(matrix,2,3)[/b];
}
cstoll: du verwechselst offenbar typ** mit typ[][] typen...