c언어 변수의 유효범위 지역변수
- 프로그래밍/C언어
- 2017. 12. 19.
안녕하세요.
저번에는 프로시저 void함수에 대하여 말했는데요.
2017/12/18 - [IT/C] - c언어 프로시저 void함수
이번에는 c언어 변수의 유효범위 중에서 지역변수에 대한것을 말해보려고 해요.
변수의 유효범위란?
c언어에서 변수는 선언되는 위치에 따라서 사용되는 변수의 위치가 결정되는데요.
이 유효범위를 크게 지역변수와 비지역 변수로 나눌 수 있습니다.
간단히 설명하자면 지역변수는 함수 내에서 선언된 변수인데요. 선언된 함수 안에서만 사용할수 있는 변수입니다.
비지역변수는 함수 밖에서 선언된 변수로 선언된 파일의 내부에서 사용 가능합니다.
이번에는 일단 이 지역변수와 비지역변수중에서 지역변수만 먼저 설명하려고 합니다.
지역변수
간단하게 지역변수의 예시를 하나 만들어보도록 하겠습니다.
return문을 이용해 볼게요.
int land(int x)
{
x=30;
printf("%d \n",x);
return x;
}
int main()
{
int a;
land(a);
return 0;
}
위의 리턴문을 보시면 int x가 있잖아요 x를 지역변수로 보시면 됩니다.
왜냐하면 저 int x을 int land()에서 선언을 했는데 int main()에서는 사용하지 못하기 때문이지요.
아래 사진을 참고해주세요.
먼저 이 코드는 정상적으로 출력이 되는데요.
이곳에 int land에서 선언한 지역변수인 x를 main()에서 출력해보도록 해보겠습니다.
아래 사진처럼 컴파일이 안되는것을 확인할 수 있습니다.
즉 int land()에서 선언한 int x는 지역변수이기 때문에 int main에서 사용하지 못하는 것이지요.