program calculate_length
implicit none
integer :: i
type :: my_type
integer :: a
real :: b
character(len=10) :: c
end type my_type
type(my_type), allocatable :: obj(:)
integer :: length
character(len=20) :: name
allocate(obj(5)) ! 分配5个元素的空间
length = size(obj)
print*, "Length of allocatable my_type:", length
deallocate(obj) ! 释放内存
name = 'reh'
do i = 1, 5
select case (name)
case ('tur')
print *, "Processing case 1"
! 在这里添加其他处理语句
! ...
! 判断是否需要跳出该迭代
case ('reh')
print *, "Processing case 2"
! 在这里添加其他处理语句
! ...
case ('cmp')
print *, "Processing case 4"
! 在这里添加其他处理语句
! ..
case ('shp')
print *, "Processing case 5"
! 在这里添加其他处理语句
! ...
case default
!print *, "Processing default case"
! 在这里添加其他处理语句
! ...
cycle
end select
end do
end program calculate_length