본문 바로가기
  • 불확실한 내일을 위해
유니티 C#/C#

C#기초 - if문 블록에서의 변수 범위

by 그린초코 2023. 4. 27.

if문의 블록에서 정의한 변수는 사용할 수 있는 범위가 정해져있는데,

중괄호 { } 안에서 선언된 변수는 해당 중괄호 안에서만 사용할 수 있다.

 

만약 아래와 같이 쓰면 "The name'y' dose not exist the current context" 라는 오류가 발생한다. 

void Start()
{
    int x = 1;
    if (x == 1)
    {
    	int y = 2;
        Debug.Log(x);
        Debug.Log(y);        
    }
    Debug.Log(y);
}

아래와 같이 오류가 난다. 

여기서 오류가 난 이유는 y변수가 if 안에서 선언되었기 때문이다.

x 변수는 void Start { } 안에 선언되었으므로 그 안에서 모두 적용되지만

y 변수는 void Start { } 안에 있는 if { } 안에서 선언되었으므로 그 안에서만 적용된다.

즉 Debug.Log(y); 는  if { } 영역 밖인 void Start { } 안에 써있어서 오류가 난 것이다.

 

728x90

댓글