全局變量

全局變量

編程術語
全局變量是編程術語中的一種,源自于變量之分。變量分為局部與全局,局部變量又可稱之為内部變量。由某對象或某個函數所創建的變量通常都是局部變量,隻能被内部引用,而無法被其它對象或函數引用。全局變量既可以是某對象函數創建,也可以是在本程序任何地方創建。全局變量是可以被本程序所有對象或函數引用。一個局部變量在被其它對象引用時,會是一個空值。但全局變量卻不會出現這種情況。全局變量的定義不可能在函數内部,因為在函數内部創建的變量叫做局部變量。全局變量既可以是某對象函數創建,也可以是在本程序任何地方創建。全局變量是可以被本程序所有對象或函數引用。[1]
    中文名:全局變量 外文名: 适用領域: 所屬學科: 也稱為:外部變量 變量:在函數外部定義 目的:一般應作全局變量聲明

使用注意

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

1,使用全局變量會占用更多的内存(因為其生命期長),不過在計算機配置很高的今天,這個不應該算什麼問題,除非使用的是巨大對象的全局變量,能避免就一定要避免。

2,使用全局變量程序運行時速度更快一些(因為内存不需要再分配),同樣也快不了多少。

3,對于局部變量的名字空間污染,這個在不使用太多變量時是可以避免的。

4,當全局變量與局部變量重名的時候,起作用的是局部變量,全局變量被屏蔽掉。

5,還可以用extern在函數外對全局變量聲明,使全局變量的作用域從聲明處到文件的結束。

6,全局變量的優先度低于局部變量。

總之,全局變量可以使用,但是全局變量使用時應注意的是盡可能使其名字易于理解,而且不能太短,避免名字空間的污染;避免使用巨大對象的全局變量。

使用

面向對象語言中的使用

在現代的面向對象語言如Java,C++,C#,Ruby中,由于變量都是封裝在類裡面的,對别的類不可見,所以已經幾乎完全抛棄了全局變量的概念。然而,可以通過把一個類定義為public static,把類成員變量也定義為public static,使該變量在内存中占用固定、唯一的一塊空間,來實現全局變量的功能。

上一篇:紅黑樹

下一篇:線程同步

相關詞條

相關搜索

其它詞條