728x90
1) 전역변수 앞에서의 extern 변수
다른 c 혹은 c++ 파일과의 링킹을 할 때 종종 사용되곤 한다.
// main.c
#include <stdio.h>
extern void f();
extern int g_value;
int main(void)
{
printf("%d\n", g_value);
return 0;
}
위는 main.c 이다.
// sub.c
#include <stdio.h>
int g_value;
void f()
{
g_value = 1;
}
위는 sub.c 이다.
이와 같이 main.c에서 extern int g_value; 와 같이 선언을 해주었는데 sub.c 에서 즉 외부변수를 가져와 사용하겠다는 것이다. 이때 main.c 에서 extern int g_value; 라고 하지 않고 그냥 int g_value; 라고 해도 무방하다.(기본적으로 extern 이 생략되었다고 간주)
2) 전역변수 앞에서의 static
static을 전역변수 앞에서 사용하게 되면 그 사용범위를 해당 파일 안으로 제한하는 효과를 가지고 있다.
// 피드백 언제든지 감사하게 받겠습니다.
728x90
'Computer Science > C || C++' 카테고리의 다른 글
(C++) 참조 변수 (1) | 2021.03.02 |
---|---|
(C++) 열거형(enumerated types) (0) | 2021.02.07 |
헤더가드의 필요성 (0) | 2021.01.27 |
첫 발걸음 (0) | 2021.01.25 |