카테고리 없음

[C언어] 지역변수 전역변수

s뽈록이s 2013. 4. 8. 10:11
int var = 1;

void var_print()
{
	printf("var = %d\n", var);
}

void main()
{
	int var = 2;	
	var_print();
	printf("var = %d\n", var);
}

프로그램 실행화면


변수에는 그 변수가 유효한 범위가 있다. 해당 함수에서만 사용할 수 있는 지역변수, 그리고 모든 함수에서 사용할 수 있는 전역 변수가 있다.


제일 처음, 즉 밖에 선언 되어 있는 것이 전역변수 이다. #include <> 밑에 선언한다. 그리고 main함수에 있는 변수가 지역변수가 된다.


var_print함수에서는 main함수에 있는 var을 사용할 수 없다. 그래서 var_print함수에서 var을 출력하면 전역변수인 var이 출력되므로 값이 1이고 main함수에서 출력하면 지역변수이므로 그 값이 2가 된다. 보통 변수는 값은 이름으로 선언할 수가 없다.


하지만 지역변수와 전역변수의 이름은 같아도 애러 메시지를 출력하지 않는다. 다만 main함수에는 전역변수인 var을 볼 수 없게 된다.