Modern Fortran Explained学习笔记3

继续第二章的内容


今天学习了一个挺重要的内容派生数据类型

派生数据类型

这种数据类型其实是一种面向对象的设计方法,有那么一点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 或者将一个单独的方法命名等等,其实还是存在一些区别的,等以后学深入了我再补充。

今天第二章就顺利结束了,其实前两章比较快主要还是因为这些概念的东西接触得多了,明天进入第三章 (。◕∀◕。)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容