global 변수 : 선언과 동시에 모든 파일에서 접근 가능한 변수
static 변수 : 선언된 파일 안에서만 접근 가능
main.c sub1.c sub2.c 라는 파일 있다면
main.c에서 선언한 global 변수 g_val 은 sub1.c나 sub2.c에서도 접근 가능하다
그러나 main.c에서 선언한 s_val은 sub1.c나 sub2.c에서 접근할수 없다.
간단한 사용 예를 보면 (gloval 변수)
########################################################
main.c ----------------------------------------------------
int g_val = 10;
main.c ----------------------------------------------------
sub1.c ----------------------------------------------------
printf("%d",g_val);
sub1.c ----------------------------------------------------
sub2.c ----------------------------------------------------
printf("%d",g_val);
sub2.c ----------------------------------------------------
########################################################
간단한 사용 예를 보면 (static 변수)
########################################################
main.c ----------------------------------------------------
tprintf();
main.c ----------------------------------------------------
sub1.c ----------------------------------------------------
tprintf()
{
static int s_val = 10;
printf("%d",s_val);
}
sub1.c ----------------------------------------------------
sub2.c ----------------------------------------------------
tprintf();
sub2.c ----------------------------------------------------
########################################################