FORTRAN语言中module中的子程序中定义的数组是全局变量吗?
1个回答
展开全部
Fortran 语言里没有全局变量这个叫法。
一些老的教科书习惯把 common 里的变量,称为全局变量。其实是不对的,应该叫“未命名的common 数据”。
module 中定义的变量,可以在 use 了该module 的程序单元里通用,并共享同一个内存空间。前提是该变量有 public 和 save 属性。(如果没有指定save,则默认具有save属性。如果没有指定 private,则默认具有 public 属性)
而 module 中的子程序,其内部的变量,与常规的子程序的内部变量一样,其值在该子程序范围内有效。退出该子程序后,其地址和值就变为不确定。
除非你指定了它具有 save 属性。
子程序中具有 save 属性的变量,在下次进入子程序时,保留上一次的值。但也不能在子程序之外直接使用它。
一些老的教科书习惯把 common 里的变量,称为全局变量。其实是不对的,应该叫“未命名的common 数据”。
module 中定义的变量,可以在 use 了该module 的程序单元里通用,并共享同一个内存空间。前提是该变量有 public 和 save 属性。(如果没有指定save,则默认具有save属性。如果没有指定 private,则默认具有 public 属性)
而 module 中的子程序,其内部的变量,与常规的子程序的内部变量一样,其值在该子程序范围内有效。退出该子程序后,其地址和值就变为不确定。
除非你指定了它具有 save 属性。
子程序中具有 save 属性的变量,在下次进入子程序时,保留上一次的值。但也不能在子程序之外直接使用它。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询