我在这里做一些愚蠢的,我不能把我的手指上到底是什么:C编程初始化二维数组动态
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);
}
}
}
而且在main()我做了以下内容:
double **dataA;
int dim = 10;
init_data(&dataA, dim, dim);
但随后权后,当我尝试打印数据的程序崩溃:
int i,j;
for(i=0;i<dim;i++)
for(j=0;j<dim;j++)
printf("%d\n", dataA[i][j]);
我缺少什么?
感谢
我贴我的答案,请您检查是否正常工作? – cybertextron 2012-07-13 02:55:25