1

以下のように定義された2次元配列の2行を交換したい。

    double (*mat)[N];
    mat = (double(*)[N])malloc(m*sizeof(double [N]));
    ...
    swap(mat, mat+1); 

しかし、私swap(mat, mat+1);は各行の最初の要素のみを交換します。

void swap(double **a,double **b){
    double *temp;
    temp = *a;
    *a = *b;
    *b = temp;
}

double **mat;動的に割り当てられた行と行で定義された 2D 配列を使用すると、同じスワップが機能します。

4

2 に答える 2