Fortran Programming Guide

One-Dimensional Arrays

Array subscripts in C start with 0.

Table 11-7 Passing a One-Dimensional Array

Fortran calls C 

C calls Fortran 

integer i, Sum

integer a(9)

external FixVec

...

call FixVec ( a, Sum )

...

------------------------------

void fixvec_ (

int v[9], int *sum )

{

int i;

*sum = 0;

for ( i = 0; i <= 8; i++ )

*sum = *sum + v[i];

}

extern void vecref_

( int[], int * );

...

int i, sum;

int v[9] = ...

vecref_( v, &sum );

...

------------------------------

subroutine VecRef( v, total)

integer i, total, v(9)

total = 0

do i = 1,9

total = total + v(i)

end do

...