如有纰漏,恳请指正!拜谢!
在matlab中元胞让变量的形式十分的灵活,如
a = cell(1,2)
a{1,1} = [1,2;3,4];
a{1,2}=[1,2,3,4];
元胞的每一个单元中可以包含不同size的矩阵,这种方式在一些场合将会十分的便利。但是在frotran,c语言中确没有办法直接进行这种矩阵操作。但是利用指针可以实现类似的功能。下面以fortran为例,构建相应module,来实现元胞部分功能。
首先建立type类型的变量,
type
type类型变量包含,一个储存整型变量的i和分别向前向后的指针。这样的type可以方便扩展所需的数组。上述类型如果针对的是单一数组有很好扩展性。如果想添加变量,只需要构建如下子过程,这个子过程和一般链表添加是一致的。
subroutine datalink_i_add(head,data,index)
type(datalink_i),intent(inout), pointer :: head
type(datalink_i), pointer :: ptr
in