雙冒號“::”,通常出現于Fortran在變量聲明中,但是在特殊情況下,也會出現于數組中。例如:
...
real,target,dimension(10):: a
real,pointer,dimension(:):: pa,pb
integer:: n=3
...
pa => a(n::1)
pb => a(n:10:1)
...
?
咋一看,數組中的“雙冒號”像是新的語法,但其實這是一種假像,本質上是兩個冒號,只不過中間的數組上界被省略了,程序中的兩種寫法是等效的。因此建議小伙伴們在寫程序的時候,盡量少用省略的寫法,也可以把兩個冒號分開,不要給閱讀程序的人造成不必要的困擾。例如:
pa => a(n::1)
可以寫成
pa => a(n: :1)