ISO_C_BINDING

The intrinsic module provides a set of named constants and procedures that can assist you in programming with mixed languages.

Using Intrinsic Module Example

USE, INTRINSIC::ISO_C_BINDING

There are two groups of named constants included in this intrinsic module -- those that hold kind type parameter values for intrinsic types and those that provide a Fortran equivalent to some of the C special characters, including:

Named constant

C definition

Value

C_NULL_CHAR

null character

'\0'

C_ALERT

alert

'\a'

C_BACKSPACE

backspace

'\b'

C_FORMFEED

form feed

'\f'

C_NEW_LINE

new line

'\n'

C_CARRIAGE_RETURN

carriage return

'\r'

C_HORIZONTAL_TAB

horizontal tab

'\t'

C_VERTICAL_TAB

vertical tab

'\v'

The procedures included in ISO_C_BINDING are all generic, not specific. They include:

  • C_ASSOCIATED

  • C_F_POINTER

  • C_F_PROCPOINTER

  • C_FUNLOC

  • C_LOC

  • C_SIZEOF

Additionally, ISO_C_BINDING includes the following derived types to interoperate with C pointers:

  • C_PTR

  • C_FUNPTR

  • C_NULL_PTR

  • C_NULL_FUNPTR

For more complete information about compiler optimizations, see our Optimization Notice.