fortran指针培训资料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 指针 ;二、指针变量的使用 ;P193 例10.2 指针变量示例2 INTEGER, POINTER::P1, P2, P3, P4 INTEGER,TARGET:: X1, X2 INTEGER X, S1, S2, S3, S4, S5 READ*, X1, X2 X=X1*X2 P1=X1 P2=X2 P3=X1 ! 多个指针变量可以指向同一目标变量 P4=P1 ! P4指向X1 S1=P1*P2 S2=P3*P2 S3=P1*X2 S4=P3*X2 S5=P4*X2 PRINT*, X=, X;PRINT*,S1=, S1 PRINT*,S2=, S2 PRINT*,S3=, S3 PRINT*,S4=, S4 PRINT*,S5=, S5 END 输入:3 4 输出:X=12 S1=12 S2=12 S3=12 S4=12 S5=12;10.2 动态变量 ;P195 例10.4 ALLOCATE和DEALLOCATE函数的用法:? PROGRAM POINTER4? INTEGER,POINTER::P1,P2 !定义指针变量P1、P2 INTEGER S ALLOCATE(P1,P2) !用ALLOCATE函数为P1,P2分配空间 READ*,P1,P2 S=P1+P2 DEALLOCATE(P1,P2) !用DEALLOCATE函数释放空间 PRINT*,S=,S END 输入5 6 输出S=11 ;10.3 指针与数组 ;例: REAL, DIMENSION(:), POINTER :: X !声明指向一维实型数组的指针X ALLOCATE(X(20)) !为X数组分配20个单元的存储空间;REAL, DIMENSION(:), POINTER::X READ*, A, B C=A+B; D=A-B; E=A*B IF(B .NE. 0)THEN F=A/B ELSE F=0 ENDIF ALLOCATE(X(6)) X(1)=A; X(2)=B; X(3)=C X(4)=D; X(5)=E; X(6)=F WRITE(*, 100)X 100 FORMAT(1X, 3F8.2) DEALLOCATE(X) END;10.4 指针与链表 ; ;P198 例: TYPE STUDENTNODE CHARACTER (15) NAME INTEGER NUM LOGICAL SEX CHARACTER (30) ADDRESS TYPE (STUDENTNODE), POINTER :: NEXT END TYPE;二、链表的基本操作 ;program ex_6 implicit none type :: node integer :: value type (node),pointer :: next end type node !链表的建立,以0作为建表结束 type(node),pointer :: current , L integer :: num read(*,*) num NULLIFY( L )!L指向一个空对象 allocate(current) current%value=num L=current;注意:链表有一个表头和一个表尾,由于FORTRAN语言中指针实际上就是一个别名,不同于C语言中的指针(C中的指针代表内存地址),因此没有明确的空指针的概念,链表的访问方式只能从最后一个结点开始,到第一个结点,通过检查链表是否再被连接作为结束标识,例10.6所建链表过程如下图所示。

文档评论(0)

日度 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档