您好,欢迎来到华佗养生网。
搜索
您的当前位置:首页全局变量与局部变量

全局变量与局部变量

来源:华佗养生网
/1.局部变量

每一个模块,例如主程序、子程序和FUNCTION函数,如果不加以特别说明,它们各自中的变量都只在本模块中有效,或者说它们的作用域只限于本模块。例如主程序中变量a的值为4,想直接在子程序输出a的值4,是做不到的。

例a为局部变量。分别输出主程序中a和子程序中a的值。

DECLATRSUBTry(n!)

a=4

PRINT\"ainmainprogramis:\";a

CALLTry(4)

END

SUBTry(n)

PRINT\"ainsubprogramis:\";a

FORi=1TOn

PRINT\"@@@@@\"

NEXTi

ENDSUB

运行结果如下:

ainmainprogramis:4

ainsubprogramis:0

@@@@@

@@@@@

@@@@@

@@@@@

可以看出:由于未加特别说明,主程序中的变量a只在主程序中有效。子程序中变量a

与主程序中的a不是同一个变量,各自有其存储单元。由于子程序中的a未被赋值,故输出初始化时的值0。

这种只在本模块中有效的变量,称为局部变量。

未加特别说明,在主程序中使用的变量也是局部变量,只限于主程序内有效,不要以为主程序中的变量在整个程序各模块中都有效。

一些BASIC版本如BASICA和GW-BASIC中,由于不提供局部变量,所有子程序和自定义函数都和主程序处在同一模块中,而不是分别组织在不同模块中,所以它们都是全局变量。

/2.全局变量

全局变量是指在程序所有模块中都有效的变量,即其作用域为整个程序的变量。

QBASIC规定可以用COMMONSHARED语句对变量作全局申明,用DIMSHARED语句对数组作全局申明。其格式分别为:

COMMONSHARED〈变量表列〉

DIMSHARED〈数组表列〉

例如:

COMMONSHAREDx!,y#,z%,w$指出实型变量x!、双精度整型变量y#、整型变量Z%、字符串变量w$为全局变量。

DIMSHAREDa1(15),b2(5,12),c3(4,5,6)指出一维数组a1、二维数组b2、三维数组c3为全局数组。

COMMONSHARED和DIMSHARED语句应写在主程序的开头位置,在所有执行语句之前。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo7.cn 版权所有 湘ICP备2022005869号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务