C と Fortran とでは行と列が入れ替わります。
Fortran が C を呼び出す
C が Fortran を呼び出す
REAL Q(10,20) ... Q(3,5) = 1.0 CALL FIXQ(Q) ... ------------------------------ void fixq_( float a[20][10] ) { ... a[5][3] = a[5][3] + 1.; ... }
extern void qref_( int[][10], int *); ... int m[20][10] = ... ; int sum; ... qref_( m, &sum ); ... ------------------------------ SUBROUTINE QREF(A,TOTAL) INTEGER A(10,20), TOTAL DO I = 1,10 DO J = 1,20 TOTAL = TOTAL + A(I,J) END DO END DO ...