|
9#
楼主 |
发表于 2015-9-9 15:33:50
|
只看该作者
比如,一个文件中有十几种对象,这些对象的个数都不知道。读取的时候,如果要先获取这些对象的数量,就要先把文件逐行读取、解析一遍,获取各个对象的数量,然后分配好,然后再读取、解析一遍,获取各个对象的参数,这个,应该没有用上指针,一次读取、解析完效率高吧?
其实吧,也不会有太大影响。数据量比较大,后面的编码一定要这么干了。前面的要不要改我再权衡下吧!谢谢了!
还有就是上面问到的问题,这么用指针:
type(pl), pointer :: pP,hP
......
allocate( hP )
pP=>hP
nullify(hP%next)
do j=1,icount
pP%i= iarray(j)
allocate( pP%next )
pP=>pP%next
enddo
pP=>hP
do i=1,icount
iarray1(i) = pP%i
if ( .not. associated(pP%next) ) exit
pP=>pP%next
enddo
完了我该怎么释放啊?以及一些子程序中间的不定长度数组,在退出子程序的时候要不要deallocate? |
|