c언어 변수의 유효범위 지역변수

안녕하세요.

저번에는 프로시저 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에서 사용하지 못하는 것이지요.

Designed by JB FACTORY