求助!!!!
过程描述:
循环地使用指针链表、删除链表。目前程序的做法是删除指针链表(表头),但是这并未删除整个链表所占用的运行内存
请教问题1:这种删除指针链表(表头),为何不能删除整个指针链表?
请教问题2:如何在每次使用后删除指针链表,但是不增加过多运算(即有没有不需要对每一个链表节点单独删除的做法,因为节点太多,执行释放对程序运行又是另一负担)?
[Fortran] 纯文本查看 复制代码 program main
implicit none
integer i,j
type tableType
integer :: i
type(tableType), pointer :: next
END TYPE
type(tableType), pointer :: table,tableHd
do j=1,100
allocate(tableHd) ! 储存链表
table=>tableHd ! 过程链表
nullify(table%next)
do i=1,10000
table%i=i
allocate(table%next)
table=>table%next
nullify(table%next)
enddo
deallocate(tableHd)
enddo
i=0 ! pause
end program main
|