# 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_FORM_FEED | 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. With the exception of C_F_POINTER and C_F_PROCPOINTER, all of the procedures are pure. 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

Parent topic: Standard Tools for Interoperability