전역 변수

전역 변수(global variable)는 어떤 변수 영역 내에서도 접근할 수 있는 변수를 의미하는 전산학 용어이다. 지역 변수와 대비되는 개념이다.

어떤 스코프에서도 참조하고, 변경할 수 있기 때문에 지역성이 없다. 이것 때문에 될 수 있으면 피해야 하는 것으로 인식하는 경우가 많다. 여러 스레드에서 같은 전역 변수에 접근할 경우에 변수를 제대로 잠그지 않으면 스레드는 안전하지 않다.

예를 들어, C언어에서 전역변수는 최초의 실행 함수인 main 함수가 실행되기 전에 생성되어 초기화되며, 지역 변수와 다르게 데이터 영역에 저장된다.

예

C++ 
#include <iostream>

int global = 3; // 이것이 전역 변수.

void ChangeGlobal() {
   global = 5; // 함수에서 전역 변수에 대한 참조.
}

int main(void) {
   std::cout << global << endl; // 다른 함수에서 전역 변수에 대한 참조.
   ChangeGlobal();
   std::cout << global << endl;
   return 0;
}
전역 변수는 프로그램 안에서 모든 함수와 연결된다.

ActionScript 3.0 
var global:int = 3; // 이것이 전역 변수.

function changeGlobal():void
{
   global = 5; // 함수에서 전역 변수에 대한 참조.
}

function run():void
{
   trace(global); // 다른 함수에서 전역 변수에 대한 참조.
   changeGlobal();
   trace(global);
}

run();

같이 보기 
 변수 (컴퓨터 과학)
 싱글턴 패턴

각주 

변수 (컴퓨터 과학)