Fortran中使用Module、Type和Pointer示例
程序代码如下:
-----------------------------------------------------------------------------------------------------------------
!define a module
module college
implicit none
type,public:: information
integer, pointer::numclg !number of colleges
integer, pointer::nummjr !number of majors
end type information
type(information),public,target::info
end module college
!initializing the module
module college_init
use college
contains
subroutine init ()
print *,"initatilizing..."
allocate(info%numclg)
allocate(info%nummjr)
end subroutine init
subroutine release ()
print *,"releasing..."
deallocate(info.numclg)
deallocate(info.nummjr)
end subroutine release
end module college_init
!the main program
program main
use college
use college_init, only: init
integer,pointer::a,b
integer,pointer::c,d
call init()
a=>info.numclg
b=>info.numclg
c=>info.nummjr
d=>info.nummjr
a=5
c=20
print *,"a=",a,",b=",b,",c=",c,",d=",d
end program main
-----------------------------------------------------------------------------------------------------------------
打印结果如下:
initatilizing...
a= 5 ,b= 5 ,c= 20 ,d= 20