Czy dobrze napisałem funkcję która ma zwalniać pamięć zarezerwowaną allocMAt? chodzi o funkcję deallocMat
#include <stdio.h>
#include<stdlib.h>
typedef struct mat{
int m; /*liczba wierszy*/
int n; /*liczba kolumn*/
float **tab; /*wskaŸnik do zawartoœci macierzy*/
} matrix;
int allocMat( matrix *p, int m, int n ){
int i;
p->m = m;
p->n = n;
p->tab = (float **) calloc(m, sizeof(float *));
if (!p->tab) return 100;
for (i=0; i<m; i++){
p->tab[i] = (float *) calloc(n, sizeof(float));
if (!p->tab[i]) return 100;
}
return 0;
}
void deAllocMat (matrix *p,int m)
{
int i;
for(i=0; i<m; i++) free(p->tab[i]);
free(p->tab);
}
int main(){
int i,j;
matrix A;
int error;
error = allocMat(&A, 400,5000);
if (error) return error;
for(i=0;i<5;i++){
for(j=0;j<7;j++) printf("%f ", A.tab[i][j]);
printf("\n");
}
deAllocMat(&A,400);
return error;
}