回 帖 发 新 帖 刷新版面

主题:为何deallocate之后数组大小不是0?

各位大神:

请看如下代码:

   allocate(Dy_ArrayX(3) )
   deallocate(Dy_ArrayX)   
   arraysize = SIZE(Dy_ArrayX,1)

结果arraysize还是3,而不是0,为何?求解!谢谢


回复列表 (共4个回复)

沙发

楼主查到一些资料,说SIZE函数只能用于allocate之后的数组,用于deallocate之后的数组无效。
那现在的问题是,如何才能判断一个数组是空的呢?

板凳

数组可以是 0 大小。

数组 0 大小,数组未分配,是两个概念。

判断大小,用 size(数组名) == 0 ?
判断是否分配用 allocated(数组名) == .true. ?

3 楼

谢谢!!
楼主也刚查到可以用IF (.NOT.ALLOCATED(A)) 这样来判断。

4 楼

[url=http://www.sincen.cn]南京到北京旅游[/url] [url=http://www.naliniu.com]南京康辉旅行社[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册