int **twoDary = (int**) (malloc(rows * sizeof(int *)));
int **twoDaryStart = twoDary;
int *currentrow;
for ( i = 0; i < rows; i++ ){ // Originally: for (i = 0; i < columns; i++)
*(twoDary + i) = (malloc(columns * sizeof(int)));
}
for (j = 0; j < rows; j++) {
currentrow = *(twoDary + j);
for ( i = 0; i < columns; i++ ) {
*(currentrow + i) = i;
printf("%d\n", *(currentrow+i));
}
}
動的な2D配列を作成しようとしています。次に、現在のi(内側のforループ内)であるiをすべての行の各要素に割り当てようとしています。したがって、私の出力は、数値0-列に印刷された行時間である必要があります。
行と列が同じでない場合、つまり5行10列の場合、セグメンテーション違反が発生し続けます。誰かがこのコードからなぜそれが起こるのかを知ることができますか?