The first statement of a derived type definition.
Syntax
TYPE [[, access-spec ] ::] derived-type-name |
- access-spec
is the keyword PUBLIC
or PRIVATE.
- derived-type-name
is a legal Fortran 90 name.
Description
The TYPE statement introduces
the definition of a derived type. A derived type name may be any
legal Fortran 90 name, as long as it is not the same as an intrinsic
type name or another local name (except component names and actual
argument keyword names) in that scoping unit.
A derived type may contain an access specification (PUBLIC
or PRIVATE attribute)
or an internal PRIVATE
statement only if it is in a module.
Examples
! This is a simple example of a derived type ! with two components, high and low. TYPE temp_range INTEGER high, low END TYPE temp_range ! This type uses the previous definition for one of its ! components TYPE temp_record CHARACTER(LEN=40) city TYPE (temp_range) extremes(1950:2050) END TYPE temp_record ! This type has a pointer component to provide links to other ! objects of the same type, thus providing linked lists. TYPE linked_list REAL value TYPE(linked_list),POINTER :: next END TYPE linked_list ! This is a public type whose components are private; defined ! operations provide all functionality. TYPE, PUBLIC :: set; PRIVATE INTEGER cardinality INTEGER element ( max_set_size ) END TYPE set ! Declare scalar and array of type set. TYPE (set) :: baker, fox(1:size(hh)) |
Related statements
INTERFACE,
PRIVATE, PUBLIC,
SEQUENCE, and
TYPE (declaration)
Related concepts
For information about derived types, see “Derived types”.