请输入您要查询的百科知识:

 

词条 全局变量
释义

英文

Global variables

解释 全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。 例如:

int a,b; /*外部变量*/

void f1() /*函数f1*/

{

……

}

float x,y; /*外部变量*/

int fz() /*函数fz*/

{

……

}

main() /*主函数*/

{

……

}/*全局变量x,y作用域 全局变量a,b作用域*/

从上例可以看出a、b、x、y 都是在函数外部定义的外部变量,都是全局变量。但x,y 定义在函数f1之后,而在f1内又无对x,y的说明,所以它们在f1内无效。 a,b定义在源程序最前面,因此在f1,f2及main内不加说明也可使用。

全局变量是使用相同的内存块在整个类中存储一个值.

全局变量extern与static

extern在其他源程序中也可以使用;static只能在本程序中使用。

使用注意

全局变量的存在主要有以下一些原因:

1,使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不成为什么问题,除非使用的是巨大对象的全局变量,能避免就一定要避免。

2,使用全局变量程序运行时速度更快一些(因为内存不需要再分配),同样现在也快不了多少。

3,对于局部变量的名字空间污染,这个在不使用太多变量时是可以避免的。

总之,全局变量可以使用,但是全局变量使用时应注意的是尽可能使其名字易于理解,而且不能太短,避免名字空间的污染;避免使用巨大对象的全局变量。

如下例所示声明全局变量:

Global y As String

面向对象语言中的使用

在现代的面向对象语言如Java,C++,C#,Ruby中,由于变量都是封装在类里面的,对别的类不可见,所以已经几乎完全抛弃了全局变量的概念。然而,可以通过把一个类定义为public static,把类成员变量也定义为public static,使该变量在内存中占用固定、唯一的一块空间,来实现全局变量的功能。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/30 13:49:41