Programmation en C initialiser le tableau 2D de manière dynamique

Je suis en train de faire quelque chose de stupide, et je ne peux pas mettre mon doigt sur exactement ce que:

 void init_data(double **data, int dim_x, int dim_y) {

    int i,j,k;

    data = (double **) malloc(sizeof(double) * dim_x);
    for (k = 0; k < dim_y; k++) {
        data[k] = (double *) malloc(sizeof(double) * dim_y);
    }

    for (i = 0; i < dim_x; i++) {
        for (j = 0; j < dim_y; j++) {
            data[i][j] = ((double)rand()/(double)RAND_MAX);
        }
    }
}

Et dans main (), je ne les suivants:

double **dataA;
int dim = 10; 
init_data(&dataA, dim, dim);

Mais puis à droite après cela, lorsque j'essaie d'impression les données que le programme se bloque:

int i,j;
    for(i=0;i<dim;i++)
        for(j=0;j<dim;j++)
            printf("%d\n", dataA[i][j]);

Ce qui me manque?

Grâce

  • J'ai posté ma réponse, pourriez-vous s'il vous plaît vérifier si cela fonctionne?
InformationsquelleAutor JDS | 2012-07-13