Fortran Programming Guide

SPARC: Fortran 90 and C Data Types

The following table similarly compares the Fortran 90 data types with C.

Table 11-2 Data Sizes and Alignment--(in Bytes) Pass by Reference (f90 and cc)

Fortran 90 Data Type  

C Data Type 

Size 

Alignment  

 CHARACTER x

unsigned char x ;

 1 1
  CHARACTER (LEN=n) x

unsigned char x[n] ;

n 1
 COMPLEX x

struct {float r,i;} x;

 8 4
 

COMPLEX (KIND=4) x

COMPLEX (KIND=8) x

COMPLEX (KIND=16) x

struct {float r,i;} x;

struct {double dr,di;} x;

struct {long double, dr,di;} x;

16 

32 

4  

4/8 

4/8/16 

 DOUBLE COMPLEX x struct {double dr, di;} x;  16 4/8
 DOUBLE PRECISION x

double x ;

 8 4
 REAL x

float x ;

 4 4
 

REAL (KIND=4) x

REAL (KIND=8) x

REAL (KIND=16) x

float x ;

double x ;

long double x ;

16 

4  

4/8 

4/8/16 

 INTEGER x

int x ;

 4 4
 

INTEGER (KIND=1) x

INTEGER (KIND=2) x

INTEGER (KIND=4) x

INTEGER (KIND=8) x

signed char x ;

short x ;

int x ;

long long int x;

4  

 LOGICAL x

int x ;

 4 4
 

LOGICAL (KIND=1) x

LOGICAL (KIND=2) x

LOGICAL (KIND=4) x

LOGICAL (KIND=8) x

signed char x ;

short x ;

int x ;

long long int x;