| 이 文書의 內容은
出處
가 분명하지 않습니다.
이
文書를 編輯
하여,
信賴할 수 있는 出處
를 表記해 주세요.
檢證
되지 않은 內容은 削除될 수도 있습니다. 內容에 對한 意見은
討論 文書
에서 나누어 주세요.
(
2010年 10月
)
|
轉役 變數
(global variable)는 어떤
變數 領域
內에서도 接近할 수 있는 變數를 意味하는
電算學
用語이다.
地域 變數
와 對比되는 槪念이다.
어떤 스코프에서도 參照하고, 變更할 수 있기 때문에 地域性이 없다. 이것 때문에 될 수 있으면 避해야 하는 것으로 認識하는 境遇가 많다. 여러
스레드
에서 같은 轉役 變數에 接近할 境遇에 變數를 제대로 잠그지 않으면
스레드는 安全
하지 않다.
例를 들어,
C言語
에서 全域變數는 最初의 實行 函數인 main 函數가 實行되기 前에 生成되어 初期化되며,
地域 變數
와 다르게 데이터 領域에 貯藏된다.
예
[
編輯
]
#include
<iostream>
int
global
=
3
;
// 이것이 全域 變數.
void
ChangeGlobal
()
{
global
=
5
;
// 函數에서 轉役 變數에 對한 參照.
}
int
main
(
void
)
{
std
::
cout
<<
global
<<
endl
;
// 다른 函數에서 轉役 變數에 對한 參照.
ChangeGlobal
();
std
::
cout
<<
global
<<
endl
;
return
0
;
}
[1]
轉役 變數는 프로그램 안에서 모든 函數와 連結된다.
var
global
:
int
=
3
;
// 이것이 全域 變數.
function
changeGlobal
():
void
{
global
=
5
;
// 函數에서 轉役 變數에 對한 參照.
}
function
run
():
void
{
trace
(
global
);
// 다른 函數에서 轉役 變數에 對한 參照.
changeGlobal
();
trace
(
global
);
}
run
();
[1]
같이 보기
[
編輯
]
各州
[
編輯
]