Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C에서 변수의 범위는 어떻게 지정됩니까?

<시간/>

여기에서 우리는 C 변수의 범위를 볼 것입니다. 변수는 항상 C에서 정적으로 범위가 지정됩니다. 변수 바인딩은 프로그램 텍스트에서 결정할 수 있습니다. 이들은 런타임 함수 호출 스택과 무관합니다.

아이디어를 얻기 위해 한 가지 예를 살펴보겠습니다.

예시

# include <stdio.h>
int x = 0;
int my_function() {
   return x;
}
int my_function2() {
   int x = 1;
   return my_function();
}
int main(){
   printf("The value is: %d\n", my_function2());
}

출력

The value is: 0

여기서 결과는 0입니다. my_function()이 반환하는 값은 이것을 호출하는 함수에 의존하지 않기 때문입니다. 이 함수는 항상 전역 변수 x의 값을 반환합니다.