2d Array aus Binärdatei lesen und den Zeiger dieses Arrays zurückgeben (in C)
Ich versuche, eine Funktion zu schreiben, die den Zeiger des aus einer Binärdatei gelesenen 2d-Arrays zurückgibt. Obwohl ich fehlerfrei kompiliere, gibt es immer einen Segmentierungsfehler, wenn ich versuche, eines der Elemente des Arrays zu drucken. Hier mein Code:
double ** readArray(int rows, int cols)
{
int i;
double **myArray=malloc(rows*sizeof(double*));
if (myArray){
for (i=0; i < rows; i++)
{
myArray[i]=malloc(cols*sizeof(double));
}
}
FILE *data;
data=fopen("matrix.bin", "rb");
fread(myArray,sizeof(double),rows*cols,data);
return myArray;
}
int main ()
{
int cols = 7;
int rows = 15;
double **myArray=readArray(rows, cols);
printf("%f\n", myArray[1][0]);
return 0;
}