여기 어리석은 일을하고 그리고 난 내 손가락을 넣어 수 없습니다 정확히 : C 프로그래밍 초기화 2 차원 배열 동적
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);
}
}
}
그리고 주에서
() 나는 다음을 수행하십시오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]);
나는 무엇을 놓치고?
감사
다음과 같은
init_data
기능, 당신은 확인하십시오 수 있을까? – cybertextron