本帖最后由 愤怒的三炮 于 2020-4-27 17:21 编辑
【编译器 gfortran】
【版本 gcc version 8.1.0】
刚学Fortran的指针,想看看声明出来的指针大小:
[Fortran] 纯文本查看 复制代码 program test_pointer_size
implicit none
integer,dimension(:,:),pointer::p=>null()
integer,dimension(100,100),target::var
print*,'the size of disassociated pointer is:'
print*,sizeof(p)
var(:,:) = 0
end
此时指针所占大小为4字节;
但是当我准备将它指向type类型时:
[Fortran] 纯文本查看 复制代码 program test_pointer_size
implicit none
type bigdata
integer,dimension(100,100)::A
end type
type(bigdata),pointer:: p => null()
type(bigdata),target:: var
print*,'the size of pointer without association is:'
print*,sizeof(p)
var%A(:,:) = 0
end
显示指针所占大小为40000字节,也就是type所占的大小。
为什么会不同呢?
请清楚的朋友指点一下,刚看Fortran的指针,不太会,先谢谢了!
|