1

プログラムを実行するとハングします。ダブルポインターの設定に何か問題がありますか? これをコメントアウトすると、プログラムはハングしません。

double **transverse;
transverse = malloc(rows*sizeof(double*));  //allocate memory to double pointer
for (i = 0; i < rows; i++)
{
    transverse[i] = malloc(rows*sizeof(double*));
    for (j = 0; j < rows; j++)
        transverse[i][j] = 0;
}
4

2 に答える 2

4

2 番目の割り当てが間違っています

transverse[i] = malloc(rows*sizeof(double*));

そのはず

transverse[i] = (double*)malloc(rows*sizeof(double));

traverse[i]は であるdouble *ため、 を使用する必要がありますsizeof(double)

于 2013-10-21T20:37:02.153 に答える