继续第二章的内容
今天学习了一个挺重要的内容派生数据类型
派生数据类型
这种数据类型其实是一种面向对象的设计方法,有那么一点python中class的意思,虽然后续的内建方法没有什么,举例来说:
type person
character(len=10) :: name
real :: age
integer :: id
end type person
//这样就可以通过'%'来访问对应的实例化后的参数,例如:
type(person) :: you
you%name='wenqs'
you%age=23.3
you%id=123435
千万不要小看这种表达方式,在我接触的数值天气预报模式中,存储模式变量,输出模式结果的指定以及自定义100%都是按照这样的方式处理的,除非你想避开标准的输入输出去测试一些特定的代码段!
另一个知识点:数值定义的Index序号
在fortran中定义一个数组时是可以使用负数的index号的,,,,这很奇特,在平时读代码时也很难理解,但是这是可以方便并行编程的(大概吧)。例如:
real, dimension(5,4)::b
这样定义了一个20个元素的数组,那么real, dimension(-3:1,4)::c
同意也是一个20个元素的数组,是不是很恶心?(|||゚д゚)
还有另一个目前已经相当普遍的概念:指针
只是这里的指针是直接指向内存的,比较原始,可以参考python里
import xxx as xx 或者将一个单独的方法命名等等,其实还是存在一些区别的,等以后学深入了我再补充。