Il faut allouer aussi chaque case des tableaux 1D
#include <stdlib.h>
struct matrix2d_t{
unsigned int nb_ligne;
unsigned int nb_colonne;
int **data;
};
matrix2d_t new_matrix2d(
unsigned int nb_lig,
unsigned int nb_col
){
matrix2d_t m;
unsigned int i;
m.data = (int **) malloc(nb_lig*sizeof(int *));
for(i=0;i<nb_lig;++i){
m.data[i] = (int *) malloc(nb_col * sizeof(int)); //alloc tableau 1d
}
m.nb_ligne = nb_lig;
m.nb_colonne = nb_col;
return m;
}
void del_matrix(matrix2d * m){
unsigned int i,nb_lig=m.nb_ligne;
for(i=0;i<nb_lig;++i){
free(m->data[i]);
}
free(m->data);
free(m);
}
ou quelque chose de ce goût là...
Bonne chance


