读取二进制文件出错
//float a[2][3]float **a;
a = (float **)malloc(2*sizeof(float *));
for (int i = 0; i < 2; i++){
a[i] = (float *)malloc(3*sizeof(float));
}
FILE *fp;
if (fopen_s(&fp, "m.txt", "rb") == NULL){
fread(a, sizeof(float), 6, fp);
}
else{
printf("filed data open failed!!!\n");
exit(0);
}
fclose(fp);
for (int i = 0; i <2; ++i){
printf("%f\n", a[0][i]);
}
请问一下:
当我用第一行注释掉的固定分配内存的数组a读取数据时,可以正常读取二进制文件,并且可以访问;
但是当我用动态分配的数组a的时候,读取完数据后,在访问的时候出错,不能访问a[0][0]这是为什么啊??