//test.cpp
int num1;
//Main.cpp
int num1;
int main()
{
}
위와 같이 전역변수로 같은 변수를 선언하게 되면 오류가 난다.
단일 변수를 정의해야하는 규칙에 위배되기 때문이다.
//test.cpp
int num1;
//Main.cpp
static int num1;
int main()
{
}
- 전역 변수 구역에 static을 쓰게 되면 현재 cpp에서만 쓰는 내부 링크를 가진 정적변수로 취급한다.
- 프로그램이 시작할 때 static 변수는 한 번만 초기화한다.
//Main.cpp
const int num1 = 3;
int main()
{
}
- const는 내부 링크를 가진다. 외부 링크를 갖기위해서는 extern을 사용한다.
- extern을 사용할 시에는 다른 cpp에서 사용가능하다. 대신 초기화는 extern을 사용하지 않는 원래 값에서만 사용 가능하다.
'C++ > Basic' 카테고리의 다른 글
[C++] using과 namespace (0) | 2021.06.17 |
---|---|
[C++] new연산자 (0) | 2021.06.17 |
[C++] mutable 사용법 (0) | 2021.06.16 |
[C++] extern의 사용법 (0) | 2021.06.16 |
[C++] decltype에 대하여 (0) | 2021.06.14 |