program test
implicit none
type :: point
real :: x
real :: y
end type
type(point), allocatable :: mypoint(:)
allocate( mypoint(2) )
mypoint(1)%x = 1.0; mypoint(1)%y = 2.0
mypoint(2)%x = 3.0; mypoint(2)%y = 4.0
write( *,* ) mypoint
deallocate( mypoint )
end program test
C:\Users>gfortran test.f90
C:\Users>a.exe
1.00000000 2.00000000 3.00000000 4.00000000