Questo sito contribuisce alla audience di

Puntatori e strutture di dati dinamici nel Fortran

Il Fortran 90 ed i tipi di dati dinamici

intel fortran compiler,format fortran,manuale fortran,libro fortran

Il Fortran 90 contiene 3 tipi di dati dinamici:

- allocatable arrays,
- automatic data objects,
- pointers

Gli array allocabile si applicano solo agli array. Gli automatic data objects sono costituiti da quegli oggetti che vengono creati all’ingresso di un sottoprogramma e distrutti in uscita. I puntatori possono essere utilizzati con le quantità scalari o con un array di qualsiasi tipo e sono utilizzati per costruire strutture dinamiche come liste concatenate e gli alberi.

Il seguente programma illustra come una struttura di dati dinamica può essere dichiarata e manipolata.

program LinkedList
type node
real data
type( node ), pointer :: next
end type node

type( node ), pointer :: list, current

nullify( list ) ! Initialize list to point to no target.

! Place two elements in the list.
allocate( list ) ! Reserve space for first node.
call random_number( list%data ) ! Initialize data portion.
allocate( list%next ) ! Reserve space for second node.
call random_number( list%next%data ) ! Initialize data portion.
nullify( list%next%next ) ! Initialize next to point to no target.

! Output the list.
current => list ! Assign target of list to target of current.
do while ( associated( current ) )
print *, current%data
current => current%next
end do

end program LinkedList